11323 Commits

Author SHA1 Message Date
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