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