20870 Commits

Author SHA1 Message Date
John Sully
f147c758d4 Fix P99 latency issue for TLS where we leave work for the next event loop
tlsProcessPendingData() needs to be called before we execute queued commands because it may enqueue more commands
2022-08-26 18:05:00 +00:00
John Sully
fcb4fdc99d Fix integer overflow of the track changes counter 2022-08-26 17:36:23 +00:00
John Sully
c97dc08e38 Additional fixes 2022-08-23 17:33:14 +00:00
John Sully
dd65d4af44 Fix ASAN use after free 2022-08-23 06:37:26 +00:00
John Sully
1f741154f1 Merge pull request #92 from Snapchat/fix_sync_cancel_race
Fix a race when undoConnectWithMaster changes mi->repl_transfer_s but…
2022-08-22 13:35:29 -04:00
John Sully
fce669e1ac Fix a race in processChanges/trackChanges with rdbLoadRio by acquiring the lock when trackChanges is set 2022-08-22 03:37:32 +00:00
John Sully
1810f8af35 Fix a race when undoConnectWithMaster changes mi->repl_transfer_s but the connection is not yet closed and the event handler runs 2022-08-21 22:35:08 +00:00
Malavan Sotheeswaran
c5cd0d89f8 fix warnings 2022-08-17 10:31:30 -07:00
Malavan Sotheeswaran
a8f6132862 check tracking per db 2022-08-17 09:50:16 -07:00
John Sully
e3f186e698 Fix certificate leak during connection when tls-allowlists are used 2022-07-14 04:36:51 +00:00
John Sully
d6cf39c485 Merge branch 'main' into keydbpro 2022-06-05 19:33:49 +00:00
John Sully
f60bb34994 Ensure clean shutdown with multiple threads 2022-05-24 05:10:18 +00:00
John Sully
84b37edfcf Implements the soft shutdown feature to allow clients to cooperatively disconnect preventing disruption during shutdown 2022-05-24 03:04:57 +00:00
John Sully
38310ec9f6 On Alpine we must have a reasonable stack size 2022-05-20 16:40:20 -04:00
John Sully
ea4941a3e7 Fix crash in expire when a snapshot is in flight. Caused by a perf optimization getting the expire map out of sync with the val 2022-05-20 13:07:26 -04:00
John Sully
5dbf1f6bd6 Fix O(n^2) algorithm in the GC cleanup logic 2022-05-19 21:46:55 -04:00
John Sully
a265f815e2 Merge OSS back into pro 2022-05-18 01:29:15 +00:00
John Sully
ba1275f653 Fix TSAN warnings on the repl backlog 2022-05-17 15:37:22 -04:00
John Sully
20766a02b8 Disable async commands by default 2022-05-17 15:37:22 -04:00
John Sully
a9d3490f9c Silence TSAN errors on ustime and mstime. Every CPU we support is atomic on aligned ints, but correctness matters 2022-05-17 15:37:22 -04:00
John Sully
8405c99017 Add fence barriers for the repl backlog (important for AARCH64 and other weak memory models) 2022-05-17 15:37:22 -04:00
John Sully
027ad50581 Dictionary use correct acquire/release semantics 2022-05-17 15:37:22 -04:00
John Sully
e38537202e Avoid unnecessary rehashing when a rehash is abandoned 2022-05-17 15:37:22 -04:00
John Sully
8d8aabb978 Prevent us from starting a rehash when one wasn't already in progress. This can cause severe issues for snapshots 2022-05-17 15:37:22 -04:00
John Sully
418356c03a Initialize noshrink, it was dangling 2022-05-17 15:37:22 -04:00
John Sully
3caf6060c4 Prevent crash on shutdown by avoiding dtors (they are unnecessary anyways) 2022-05-17 15:37:22 -04:00
John Sully
9e138815a1 Fix assertion in async rehash 2022-05-17 15:37:22 -04:00
John Sully
51d3e2cbbc Fix reference counting failure in the dict. This is caused by std::swap also swapping refcounts 2022-05-17 15:37:22 -04:00
John Sully
442c3de350 Limit max overage to 20% during RDB save 2022-05-10 18:30:12 +00:00
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
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
41b282803a 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
cfcb9df71c 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
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
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
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