1346 Commits

Author SHA1 Message Date
John Sully
570bcb55c7 make async rehash configurable 2023-09-23 16:32:28 -04:00
Malavan Sotheeswaran
7d4f461562 Make propagating before freeing module context optional (#225)
* don't propogate on module context free for rdb load

* default in wrong place
2023-09-08 15:51:48 -04:00
John Sully
f435218ed9 Fix memory leaks 2023-08-25 16:44:10 +00:00
John Sully
ffac55273a Remove Expireset (#217)
Major refactor to place expiry information directly in the object struct.
2023-08-21 16:36:45 -04:00
Alex Cope
970e594dca nullptr 2023-07-07 11:55:49 -07:00
Alex Cope
c0c9230c73 fix compile error 2023-07-07 11:37:09 -07:00
Alex Cope
e35ce24985 use enum class 2023-07-07 11:07:33 -07:00
Alex Cope
1c8f1a0931 modify 2023-07-07 07:37:07 -07:00
Alex Cope
d346601067 llu 2023-06-30 09:39:49 -07:00
Alex Cope
147baeeed3 update 2023-06-29 13:22:47 -07:00
Alex Cope
4ab128b86a fix conflict 2023-06-28 17:37:33 -07:00
Alex Cope
4e22068f2f with config 2023-06-28 17:31:40 -07:00
Alex Cope
6efe344587 port changes to 6.3 2023-06-27 14:18:14 -07:00
Malavan Sotheeswaran
c17b9f47ac Cherry picking keydb changes from keydbpro to main (#203)
* Audit Logging for KeyProxy and KeyDB (#144)

* Audit Log: log cert fingerprint (#151)

* Add more flash storage stats to info command.

* Remove unneeded libs when not building FLASH

* Fix mem leak

* Allow the reservation of localhost connections to ensure health checks always succeed even at maxclients (#181)

* Enable a force option for commands (#183)

* Fix missing newline and excessive logging in the CLI

* Support NO ONE for "CLUSTER REPLICATE" command.

Co-authored-by: Jacob Bohac <jbohac@snapchat.com>
Co-authored-by: Sergey Kolosov <skolosov@snapchat.com>
Co-authored-by: John Sully <jsully@snapchat.com>
Co-authored-by: John Sully <john@csquare.ca>
2023-06-27 16:23:20 -04:00
John Sully
f53e0337ef Port load shedding and availability-zone (#202) 2023-06-27 15:37:28 -04:00
Malavan Sotheeswaran
b258322f9e Fix propagate in transaction crash (#200)
* ignore propagate_in_transaction in processCommand if command is async

* make propogate_in_transaction thread local

* forgot module.cpp

* move client_pause_in_transaction to thread local

* don't do async commands while in eval or exec

* don't do keys or scan async if in transaction
2023-06-21 16:28:57 -07:00
Malavan Sotheeswaran
3336c4f43e
Flash slot to key (#653)
* add hash prefixing to rocksdb

* don't need to offset internal keys

* remove hashslot prefix when loading from rocksdb

* don't prefix internal keys

* implement slot to keys with rocksdb

* fix compile

* add hashslot enum to test storage provider

* add --flash option for tests

* forgot return statement in getKeysInSlot

* check for count mismatch

* forgot ;

* add assert to ensure correctness

* fix warnings

* add option to show logs of 1 server at a time

* add fixed length prefix extractor

* add machamp

* switch machamp to main branch

* add machamp script
2023-05-30 01:01:40 -04:00
Malavan Sotheeswaran
e4dacb467f add config to disable storage key cache 2023-04-25 11:15:57 -07:00
Malavan Sotheeswaran
a8c0f9b1c4 limit number of random elements returned based on config, exit loop early if client is being closed 2023-04-18 17:08:27 -07:00
Malavan Sotheeswaran
b398021b2c
update slotToKey during fast load (#589) 2023-03-08 15:54:50 -05:00
Malavan Sotheeswaran
a9995d2e54
Upgrade rocksdb to v7.9.2 (#555)
* upgrade to rocksdb v7.9.2

* need c++17 for rocksdb

* don't prefix jemalloc

* different exception specifier
2023-03-02 13:51:21 -05:00
Malavan Sotheeswaran
81c6c7902d
Fix possible crash in prefetchKeysAsync with flash enabled. (#578)
* remove short circuit as it is unsafe
2023-02-22 19:27:24 -05:00
Malavan Sotheeswaran
5123e2b3a1
change hasActiveChildProcess to return true only when there is an actual child process (#558)
change hasActiveChildProcess to return true only when there is an actual child process, add hasActiveChildProcessOrBGSave to catch case of forkless bgsave
2023-02-03 13:36:06 -05:00
Malavan Sotheeswaran
2498e0fc1f
fix macos build warnings/ remove 32 bit CI run (#522)
* fix macos build warnings

* remove 32 bit ci run as we no longer support it
2022-12-15 15:49:44 -05: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
a265f815e2 Merge OSS back into pro 2022-05-18 01:29:15 +00:00
John Sully
ec6378767d Fix PSYNC test crashes 2022-05-04 01:37:40 +00:00
John Sully
c7108ac57e PSYNC production fixes 2022-04-26 02:07:28 +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
4d053b1aa1 Inclusive language 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
Malavan Sotheeswaran
f35baf8e7d hide forklock object in ae 2022-04-26 01:55:22 +00:00
John Sully
3fc16f4144 Make multithread load configurable and disabled by default (#57)
Co-authored-by: John Sully <john@csquare.ca>
2022-04-07 13:20:38 -04:00
John Sully
269b05b918 Log the connected masters in the INFO command 2022-04-02 01:20:45 -04:00
John Sully
8a3a4b6e61 Support dynamic runtime modification of tls-allowlist, and add config rewrite support 2022-03-31 17:48:37 -04:00
Vivek Saini
ab9c21f315 Changed term whitelist to allowlist (#54) 2022-03-31 14:15:03 -04:00
John Sully
f077a6060c Fix lock inversion in freeClientAsync - make it not dependent on the AE Lock 2022-03-29 00:19:49 -04:00
John Sully
b787828ef9 Fix mac build warnings 2022-03-07 19:28:39 -05:00
John Sully
986e7cb223 Fix test instability caused by MVCC slip with lfence command when async commands are enabled 2022-03-07 16:40:56 -05:00
John Sully
003c9289e0 Optimize async command snapshot creation, and make slip configurable 2022-03-07 16:00:48 -05:00
John Sully
d77bbee238 Fix mac build breaks and remove license checks (won't work on mac) 2022-03-07 14:50:31 -05:00
Vivek Saini
8644595efc TLS Name Validation (#48)
Added TLS Name Validation
2022-03-03 13:59:07 -05:00
Vivek Saini
e17865322f Added TLS rotation support 2022-02-02 14:20:19 -05:00
christianEQ
b785b03068 Merge remote-tracking branch 'opensource/RELEASE_6' into keydbpro
Former-commit-id: 439c655a543f4d3224d90bcdeb21ba43c2ab8ab7
2022-01-14 22:19:42 +00:00
MalavanEQAlpha
0f4268579e Merge pull request #386 from EQ-Alpha/fix_rdb_hang
add readwrite lock for forking

Former-commit-id: dabb81960f6ccc7f62c53648127924fc2fef7cdc
2022-01-14 13:19:33 -08:00
John Sully
373f584465 Fix partial sync corruption with FLASH
Former-commit-id: 532f58c0539b775c040c0dd9a2ad3dc349faf87a
2021-12-23 00:04:28 -05:00
VivekSainiEQ
bfcea943ea Merge remote-tracking branch 'mainpro/PRO_RELEASE_6' into keydbpro
Former-commit-id: 5a32d66ee382b6d227a67073afc81ca058d605ed
2021-12-06 20:43:23 +00:00
John Sully
5a3080dd8c Implent the force-backlog-disk-reserve flag
Former-commit-id: d39f7f4407f8935b1540dd302be3e24ac02c5700
2021-12-04 02:07:03 +00:00