11353 Commits

Author SHA1 Message Date
John Sully
a265f815e2 Merge OSS back into pro 2022-05-18 01:29:15 +00:00
John Sully
a6ab09cf7b Ensure we force moves not copies when ingesting bulk insert files 2022-05-04 16:51:48 +00:00
John Sully
ec6378767d Fix PSYNC test crashes 2022-05-04 01:37:40 +00:00
John Sully
848af67e9a Merge branch 'keydbpro' into psync_multimaster_fixes 2022-05-02 22:19:22 +00:00
John Sully
66971f7e24 Merge branch 'keydbpro' of https://github.sc-corp.net/Snapchat/keydb-internal into keydbpro 2022-05-02 22:14:31 +00:00
Vivek Saini
3724cf97d9 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
343c47a935 Ensure recreated tables use the same settings as ones made at boot 2022-04-27 23:38:55 +00:00
John Sully
b011bcbe93 Ensure we are responsive during storagecache clears 2022-04-27 17:32:40 +00:00
John Sully
c7108ac57e PSYNC production fixes 2022-04-26 02:07:28 +00:00
John Sully
3d2a25fa33 acceptTLS is threadsafe like the non TLS version 2022-04-26 01:55:22 +00:00
John Sully
68957b279a 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
33a4d78a90 Make active client balancing a configurable option 2022-04-26 01:55:22 +00:00
Vivek Saini
a0208b7301 Removed mergeReplicationId 2022-04-26 01:55:22 +00:00
Vivek Saini
d7b4f1e492 call aeThreadOnline() earlier 2022-04-26 01:55:22 +00:00
Vivek Saini
4d053b1aa1 Inclusive language 2022-04-26 01:55:22 +00:00
Vivek Saini
738f4d44bd Remove asserts, RW lock can go below zero in cases of aeAcquireLock 2022-04-26 01:55:22 +00:00
Vivek Saini
09067046f6 placement new instead of memcpy 2022-04-26 01:55:22 +00:00
Christian Legge
0ed0745d90 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
6a89ac329c Defensive asserts for RWLock 2022-04-26 01:55:22 +00:00
Vivek Saini
c529f0e1ed Integrate readwritelock with Pro Code 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
4af996e32e use atomic_load for g_pserver->mstime 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
eb46be3685 need to include stdint for uintptr_t 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
0f187c7465 cannot mod a pointer 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
d63c5acb20 remove nullptr subtraction 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
8f3f127203 check ziplist len to avoid crash on empty ziplist convert 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
203e4e228f remove unused var in networking.cpp 2022-04-26 01:55:22 +00:00
John Sully
57ccb88641 Fix MALLOC=memkind build issues 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
5e2d3fafae set thread as offline when waiting for time thread lock 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
6d1cd00f15 time thread lock uses fastlock instead of std::mutex 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
fa0a60240b only need to include readwritelock in ae 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
f35baf8e7d hide forklock object in ae 2022-04-26 01:55:22 +00:00
malavan
a352731178 fork lock for all threads, use fastlock for readwritelock 2022-04-26 01:55:21 +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