9615 Commits

Author SHA1 Message Date
benschermel
1b22cebe02 remove Enterprise references 2022-05-10 12:58:59 -04:00
John Sully
481ab76987 Remove unnecessary libs 2022-05-06 17:34:14 +00:00
John Sully
b423e1050e Fix musl/Alpine build failures 2022-05-06 17:05:04 +00:00
John Sully
4141746f8f Fix crash in save of masterinfo 2022-05-06 16:29:27 +00:00
John Sully
39974223eb Disable FLASH 2022-05-06 01:20:06 +00:00
John Sully
1f958ac63d Disable async for hget commands as it is not ready 2022-05-05 20:50:44 +00:00
John Sully
41b282803a Fix PSYNC test crashes 2022-05-04 01:37:40 +00:00
John Sully
cfcb9df71c Merge branch 'keydbpro' into psync_multimaster_fixes 2022-05-02 22:19:22 +00:00
John Sully
63e5507dfe Merge branch 'keydbpro' of https://github.sc-corp.net/Snapchat/keydb-internal into keydbpro 2022-05-02 22:14:31 +00:00
Vivek Saini
faf9359e10 Merge pull request #60 from Snapchat/merge_os_apr_13
Merge in changes from Open Source.

For the most part, this encompasses two changes:

- Adding partial sync capabilities to multi-master
- Adding ReadWrite locks to prevent global lock issues when forking threads, specifically with regards to the time thread.
2022-05-02 13:26:21 -04:00
John Sully
6e4e75af9c Ensure recreated tables use the same settings as ones made at boot 2022-04-27 23:38:55 +00:00
John Sully
cfa9ba8eb1 Ensure we are responsive during storagecache clears 2022-04-27 17:32:40 +00:00
John Sully
b37a68c8f1 PSYNC production fixes 2022-04-26 02:07:28 +00:00
John Sully
1bf92015dc acceptTLS is threadsafe like the non TLS version 2022-04-26 01:55:22 +00:00
John Sully
914da1f62c With TLS throttle accepts if server is under heavy load - do not change non TLS behavior 2022-04-26 01:55:22 +00:00
John Sully
dcaca5d79c Make active client balancing a configurable option 2022-04-26 01:55:22 +00:00
Vivek Saini
54f746f99b Removed mergeReplicationId 2022-04-26 01:55:22 +00:00
Vivek Saini
78efb2f629 call aeThreadOnline() earlier 2022-04-26 01:55:22 +00:00
Vivek Saini
d441901c39 Inclusive language 2022-04-26 01:55:22 +00:00
Vivek Saini
09f216fb03 Remove asserts, RW lock can go below zero in cases of aeAcquireLock 2022-04-26 01:55:22 +00:00
Vivek Saini
b1b6d31305 placement new instead of memcpy 2022-04-26 01:55:22 +00:00
Christian Legge
0f26a14276 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-26 01:55:22 +00:00
Vivek Saini
cde7939fe1 Defensive asserts for RWLock 2022-04-26 01:55:22 +00:00
Vivek Saini
3fadb9787a Integrate readwritelock with Pro Code 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
bdfd34cf10 use atomic_load for g_pserver->mstime 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
8f6c6bb6a4 need to include stdint for uintptr_t 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
2c881b390a cannot mod a pointer 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
f189bbb4e4 remove nullptr subtraction 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
e0548b4722 check ziplist len to avoid crash on empty ziplist convert 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
60a85737e6 remove unused var in networking.cpp 2022-04-26 01:55:22 +00:00
John Sully
9dad9f6ef4 Fix MALLOC=memkind build issues 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
78086d6293 set thread as offline when waiting for time thread lock 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
aa07287c05 time thread lock uses fastlock instead of std::mutex 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
24a586cdf1 only need to include readwritelock in ae 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
4d4acaa155 hide forklock object in ae 2022-04-26 01:55:22 +00:00
malavan
52402c4786 fork lock for all threads, use fastlock for readwritelock 2022-04-26 01:55:21 +00:00
John Sully
ae5110ba79 acceptTLS is threadsafe like the non TLS version 2022-04-21 19:53:16 +00:00
Vivek Saini
9f81cc0385 Removed mergeReplicationId 2022-04-21 01:18:12 +00:00
John Sully
0fb5e74339 Merge branch 'keydbpro' of https://github.sc-corp.net/Snapchat/keydb-internal into keydbpro 2022-04-20 21:19:34 +00:00
Vivek Saini
eaf76b5944 call aeThreadOnline() earlier 2022-04-20 20:46:48 +00:00
Vivek Saini
08f88f7a59 Fix KeyDB not building with TLS < 1.1.1 2022-04-20 14:24:50 -04:00
John Sully
0c3fd61928 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
95c0146ec9 Make active client balancing a configurable option 2022-04-18 23:07:15 +00:00
Vivek Saini
609a8dc194 Inclusive language 2022-04-14 23:54:05 +00:00
Vivek Saini
faefec28a7 Remove asserts, RW lock can go below zero in cases of aeAcquireLock 2022-04-14 22:34:02 +00:00
Vivek Saini
a827158d27 placement new instead of memcpy 2022-04-14 21:05:10 +00:00
Christian Legge
264429c997 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
88341c3672 Defensive asserts for RWLock 2022-04-14 17:21:50 +00:00
Vivek Saini
a4a886428f Integrate readwritelock with Pro Code 2022-04-14 17:15:19 +00:00
Malavan Sotheeswaran
9486f16857 use atomic_load for g_pserver->mstime 2022-04-13 14:10:58 -04:00