John Sully
8a7ace0a34
PSYNC production fixes
2022-04-22 22:43:20 +00:00
John Sully
fbc9c9f022
øMerge branch 'keydbpro' into merge_os_apr_13
2022-04-21 19:54:01 +00:00
John Sully
f9b0cb0d55
acceptTLS is threadsafe like the non TLS version
2022-04-21 19:53:16 +00:00
Vivek Saini
d09eb51539
Removed mergeReplicationId
2022-04-21 01:18:12 +00:00
John Sully
cf7290ba17
Merge branch 'keydbpro' of https://github.sc-corp.net/Snapchat/keydb-internal into keydbpro
2022-04-20 21:19:34 +00:00
Vivek Saini
d103046e17
call aeThreadOnline() earlier
2022-04-20 20:46:48 +00:00
Vivek Saini
85dd7527d6
Fix KeyDB not building with TLS < 1.1.1
2022-04-20 14:24:50 -04:00
John Sully
05dc5a470e
With TLS throttle accepts if server is under heavy load - do not change non TLS behavior
2022-04-18 23:07:36 +00:00
John Sully
63e78ab7f3
Make active client balancing a configurable option
2022-04-18 23:07:15 +00:00
Vivek Saini
12ce8bcd2c
Inclusive language
2022-04-14 23:54:05 +00:00
Vivek Saini
9e4d9560bc
Remove asserts, RW lock can go below zero in cases of aeAcquireLock
2022-04-14 22:34:02 +00:00
Vivek Saini
c21b454de2
placement new instead of memcpy
2022-04-14 21:05:10 +00:00
Christian Legge
c81cc4ee2b
Save and restore master info in rdb to allow active replica partial sync ( #371 )
...
* save replid for all masters in rdb
* expanded rdbSaveInfo to hold multiple master structs
* parse repl-masters from rdb
* recover replid info from rdb in active replica mode, attempt partial sync
* save offset from rdb into correct variable
* don't change replid based on master in active rep
* save and load psync info from correct fields
2022-04-14 20:17:18 +00:00
Vivek Saini
05bfd007f3
Defensive asserts for RWLock
2022-04-14 17:21:50 +00:00
Vivek Saini
ebaa5407b5
Integrate readwritelock with Pro Code
2022-04-14 17:15:19 +00:00
Malavan Sotheeswaran
dfeeee040d
use atomic_load for g_pserver->mstime
2022-04-13 14:10:58 -04:00
Malavan Sotheeswaran
cc8c82b530
need to include stdint for uintptr_t
2022-04-13 14:10:58 -04:00
Malavan Sotheeswaran
b320dd0178
cannot mod a pointer
2022-04-13 14:10:58 -04:00
Malavan Sotheeswaran
1a2a3e730a
remove nullptr subtraction
2022-04-13 14:10:58 -04:00
Malavan Sotheeswaran
114c94dc57
check ziplist len to avoid crash on empty ziplist convert
2022-04-13 14:08:44 -04:00
Malavan Sotheeswaran
2f9b429071
remove unused var in networking.cpp
2022-04-13 14:08:43 -04:00
John Sully
59a45d00fe
Fix MALLOC=memkind build issues
2022-04-13 14:07:14 -04:00
Malavan Sotheeswaran
3d4429fca1
set thread as offline when waiting for time thread lock
2022-04-13 14:06:58 -04:00
Malavan Sotheeswaran
0290964b8d
time thread lock uses fastlock instead of std::mutex
2022-04-13 14:05:26 -04:00
Malavan Sotheeswaran
5bec423b25
only need to include readwritelock in ae
2022-04-13 14:04:07 -04:00
Malavan Sotheeswaran
6dcd4ca0fc
hide forklock object in ae
2022-04-13 14:04:02 -04:00
malavan
0ee3a5ace1
fork lock for all threads, use fastlock for readwritelock
2022-04-13 13:52:41 -04:00
John Sully
71121dff4e
Fix leaked reference count to dict
2022-04-13 12:51:00 -04:00
John Sully
750a7fdb16
Improve connect performance by reducing lock contention, I'm seeing 50-100% improvements
2022-04-13 12:51:00 -04:00
John Sully
994fa6b453
Do not send updates to servers overly frequently during load
2022-04-13 12:51:00 -04:00
John Sully
7ef5e9cd2a
SSL connections are expensive, do not do them overly frequently
2022-04-13 12:51:00 -04:00
John Sully
d06b9cbbe0
Handle RREPLAY errors gracefully
2022-04-13 12:51:00 -04:00
John Sully
3fc16f4144
Make multithread load configurable and disabled by default ( #57 )
...
Co-authored-by: John Sully <john@csquare.ca>
2022-04-07 13:20:38 -04:00
John Sully
269b05b918
Log the connected masters in the INFO command
2022-04-02 01:20:45 -04:00
John Sully
c540e4b6e5
Do not save while loading
2022-04-01 05:08:08 +00:00
John Sully
8a3a4b6e61
Support dynamic runtime modification of tls-allowlist, and add config rewrite support
2022-03-31 17:48:37 -04:00
Vivek Saini
ab9c21f315
Changed term whitelist to allowlist ( #54 )
2022-03-31 14:15:03 -04:00
John Sully
05eba92dde
Fix issue with AE unlocking in beforeSleep
2022-03-29 12:17:13 -04:00
John Sully
f077a6060c
Fix lock inversion in freeClientAsync - make it not dependent on the AE Lock
2022-03-29 00:19:49 -04:00
John Sully
b787828ef9
Fix mac build warnings
2022-03-07 19:28:39 -05:00
John Sully
574081644a
Fix spurious warnings about unclean RocksDB databases on startup
2022-03-07 16:42:37 -05:00
John Sully
eaea45656e
Fix FLASH Read performance after data is loaded from fastsync (the rocksdb files have compression enabled when written by the bulkWrite function
2022-03-07 16:41:51 -05:00
John Sully
986e7cb223
Fix test instability caused by MVCC slip with lfence command when async commands are enabled
2022-03-07 16:40:56 -05:00
John Sully
53fbf7b362
Fix fast-sync perf issue while server is under load (batch size too small)
2022-03-07 16:40:01 -05:00
John Sully
5b0c5234a7
Fix cluster test fail
2022-03-07 16:39:01 -05:00
John Sully
003c9289e0
Optimize async command snapshot creation, and make slip configurable
2022-03-07 16:00:48 -05:00
John Sully
d77bbee238
Fix mac build breaks and remove license checks (won't work on mac)
2022-03-07 14:50:31 -05:00
Vivek Saini
8644595efc
TLS Name Validation ( #48 )
...
Added TLS Name Validation
2022-03-03 13:59:07 -05:00
Artem Danilov
ea708fb14d
enable TLS build by default ( #43 )
...
* enable TLS build by default
* move export to src folder
* fix comments
2022-02-11 16:36:42 -08:00
Vivek Saini
e17865322f
Added TLS rotation support
2022-02-02 14:20:19 -05:00