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
343c47a935
Ensure recreated tables use the same settings as ones made at boot
2022-04-27 23:38:55 +00: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
b011bcbe93
Ensure we are responsive during storagecache clears
2022-04-27 17:32:40 +00:00
John Sully
cfa9ba8eb1
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
b37a68c8f1
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
1bf92015dc
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
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
33a4d78a90
Make active client balancing a configurable option
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
a0208b7301
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
d7b4f1e492
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
4d053b1aa1
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
738f4d44bd
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
Vivek Saini
09067046f6
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
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
cde7939fe1
Defensive asserts for RWLock
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
3fadb9787a
Integrate readwritelock with Pro Code
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
bdfd34cf10
use atomic_load for g_pserver->mstime
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
8f6c6bb6a4
need to include stdint for uintptr_t
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
2c881b390a
cannot mod a pointer
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
f189bbb4e4
remove nullptr subtraction
2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
d63c5acb20
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
8f3f127203
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
Malavan Sotheeswaran
203e4e228f
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
John Sully
57ccb88641
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
5e2d3fafae
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
6d1cd00f15
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
fa0a60240b
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