John Sully
6bf79b69c6
PSYNC production fixes
2022-04-22 22:43:20 +00:00
John Sully
aefff904ef
øMerge branch 'keydbpro' into merge_os_apr_13
2022-04-21 19:54:01 +00:00
Vivek Saini
9f81cc0385
Removed mergeReplicationId
2022-04-21 01:18:12 +00:00
John Sully
95c0146ec9
Make active client balancing a configurable option
2022-04-18 23:07:15 +00:00
Vivek Saini
609a8dc194
Inclusive language
2022-04-14 23:54:05 +00:00
Christian Legge
264429c997
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
Malavan Sotheeswaran
09c1b0d5fc
hide forklock object in ae
2022-04-13 14:04:02 -04:00
John Sully
52b8c153f8
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
6a483cc7ae
Log the connected masters in the INFO command
2022-04-02 01:20:45 -04:00
John Sully
f7476575a1
Support dynamic runtime modification of tls-allowlist, and add config rewrite support
2022-03-31 17:48:37 -04:00
Vivek Saini
5d833a7173
Changed term whitelist to allowlist ( #54 )
2022-03-31 14:15:03 -04:00
John Sully
8eaede1c61
Fix lock inversion in freeClientAsync - make it not dependent on the AE Lock
2022-03-29 00:19:49 -04:00
John Sully
f73ce412c8
Fix mac build warnings
2022-03-07 19:28:39 -05:00
John Sully
6eaefb7895
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
4697923f41
Optimize async command snapshot creation, and make slip configurable
2022-03-07 16:00:48 -05:00
John Sully
0d917c8580
Fix mac build breaks and remove license checks (won't work on mac)
2022-03-07 14:50:31 -05:00
Vivek Saini
9ca488bc63
TLS Name Validation ( #48 )
...
Added TLS Name Validation
2022-03-03 13:59:07 -05:00
Vivek Saini
9a727f663f
Added TLS rotation support
2022-02-02 14:20:19 -05:00
christianEQ
df51a33413
Merge remote-tracking branch 'opensource/RELEASE_6' into keydbpro
...
Former-commit-id: 439c655a543f4d3224d90bcdeb21ba43c2ab8ab7
2022-01-14 22:19:42 +00:00
MalavanEQAlpha
4e2e461acc
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
f8bf0aa035
Fix partial sync corruption with FLASH
...
Former-commit-id: 532f58c0539b775c040c0dd9a2ad3dc349faf87a
2021-12-23 00:04:28 -05:00
VivekSainiEQ
45e7b87548
Merge remote-tracking branch 'mainpro/PRO_RELEASE_6' into keydbpro
...
Former-commit-id: 5a32d66ee382b6d227a67073afc81ca058d605ed
2021-12-06 20:43:23 +00:00
John Sully
3b83248db6
Implent the force-backlog-disk-reserve flag
...
Former-commit-id: d39f7f4407f8935b1540dd302be3e24ac02c5700
2021-12-04 02:07:03 +00:00
malavan
8e7d88c514
add async to hget and fix bug where a command can hold a key from main db without lock
...
Former-commit-id: b0b8f426fda7cdabd3898a2d0b38d0fae47d1e69
2021-12-02 17:11:26 +00:00
Malavan Sotheeswaran
6d8fe4ae50
Merge branch 'async_commands' of https://gitlab.eqalpha.com/external-collab/keydb-pro-6 into async_commands
...
Former-commit-id: 1afa51c4d21d695c052dbec690bf3880b243dbec
2021-11-30 12:17:46 -05:00
Malavan Sotheeswaran
54f3436250
Merge branch 'keydbpro' into async_commands
...
Former-commit-id: 9eaddb8ca1424ff3225dac9c144d23848228c7d2
2021-11-30 11:47:51 -05:00
Malavan Sotheeswaran
aaf1a42a7b
Merge branch 'fastsync_collab' into 'keydbpro'
...
Fastsync collab
See merge request external-collab/keydb-pro-6!9
Former-commit-id: 8f410e4b814ea6ac506ab540ee1394834fd1d8a8
2021-11-26 20:53:00 +00:00
John Sully
8bff491912
Implement the disk backed backlog functionality
...
Former-commit-id: 759cc01c6ba05f9a865c11580cc4975b5f1bd1d6
2021-11-26 03:05:23 +00:00
VivekSainiEQ
b0c0cd8f8d
Removed trial code entirely
...
Former-commit-id: 540a60eb12d01c2839228f9fdaa6233aed99dc38
2021-11-15 23:56:30 +00:00
VivekSainiEQ
4a093570d0
Removed KeyDB Enterprise Trial
...
Former-commit-id: 0899ede8db54db80a2cc101412e5dbcaedb706b1
2021-11-15 20:33:54 +00:00
VivekSainiEQ
7992428583
Merge remote-tracking branch 'opensource/unstable' into PRO_RELEASE_6
...
Former-commit-id: 60da86471f68b13e2456e113ecd4aa117d95b134
2021-11-12 21:12:53 +00:00
christianEQ
aa048e2b2f
added createMetadataDb to IStorageFactory + implementations
...
Former-commit-id: a2acf75484d2af93aad9d03a20bd402893044860
2021-11-11 13:41:00 +00:00
John Sully
b12b48ab27
Initial implementation of snapshot fast replication. There are still a few TODOs in progress
...
Former-commit-id: 0febdcdab8693af443f350968ed3d8c80106675d
2021-11-09 19:36:07 +00:00
VivekSainiEQ
83b23eafd0
Backported time thread code from enterprise
...
Former-commit-id: b03eab2a0628df157c1f6b6242bb500ca826ef45
2021-11-05 00:30:34 +00:00
malavan
322ec31191
Merge branch 'keydbpro' of https://gitlab.eqalpha.com/external-collab/keydb-pro-6 into keydbpro
...
Former-commit-id: 5b88af1067d344f121b2d65e34fb40e229722575
2021-11-02 19:14:47 +00:00
malavan
755e9788ba
don't delete db or snapshots on shutdown, still delete storage provider
...
Former-commit-id: edb840ce10ea77ce654ba27c9eadbf98bbc13403
2021-11-02 19:01:37 +00:00
John Sully
73215b2eeb
Make the replica weighting configurable
...
Former-commit-id: be6a8a7e68acb5cfbe950f13b903e6f7b98c5a39
2021-10-29 17:59:46 +00:00
John Sully
d41aa34ba3
Fix slower performance during replication by better balancing client load on threads servicing a replica
...
Former-commit-id: 496f91d3f169fcfe6d94c2ea69cee402f8eb60ca
2021-10-22 03:16:33 +00:00
VivekSainiEQ
a7e7540284
Resolved merge conflicts in prior commit
...
Former-commit-id: b88f06b16f3d9e58ec884c61d2d074d7a489775e
2021-10-21 22:35:15 +00:00
VivekSainiEQ
b84ee93b5d
Merge tag '6.2.6' into Redis_626_Merge
...
Former-commit-id: e6d7e01be6965110d487e12f40511fe0b3497695
2021-10-21 22:33:55 +00:00
jsully
763b349bd2
Merge branch 'multithread_load' into 'keydbpro'
...
Multithread load
See merge request external-collab/keydb-pro-6!5
Former-commit-id: 20e712244071028b0f75ccad477308efd139261f
2021-10-08 17:55:55 +00:00
DarrenJiang13
94bf9b175e
[BUGFIX] Add some missed error statistics ( #9328 )
...
add error counting for some missed behaviors.
(cherry picked from commit 43eb0ce3bf76a5d287b93a767bead9ad6230a1ad)
2021-10-04 13:59:40 +03:00
Oran Agra
1334180f82
Improvements to corrupt payload sanitization ( #9321 )
...
Recently we found two issues in the fuzzer tester: #9302 #9285
After fixing them, more problems surfaced and this PR (as well as #9297 ) aims to fix them.
Here's a list of the fixes
- Prevent an overflow when allocating a dict hashtable
- Prevent OOM when attempting to allocate a huge string
- Prevent a few invalid accesses in listpack
- Improve sanitization of listpack first entry
- Validate integrity of stream consumer groups PEL
- Validate integrity of stream listpack entry IDs
- Validate ziplist tail followed by extra data which start with 0xff
Co-authored-by: sundb <sundbcn@gmail.com>
(cherry picked from commit 0c90370e6d71cc68e4d9cc79a0d8b1e768712a5b)
2021-10-04 13:59:40 +03:00
menwen
44b3a6df77
Add latency monitor sample when key is deleted via lazy expire ( #9317 )
...
Fix that there is no sample latency after the key expires via expireIfNeeded().
Some refactoring for shared code.
(cherry picked from commit ca559819f7dcd97ba9ef667bf38360a9527d62f6)
2021-10-04 13:59:40 +03:00
Oran Agra
24977cdff6
Fix ziplist and listpack overflows and truncations (CVE-2021-32627, CVE-2021-32628)
...
- fix possible heap corruption in ziplist and listpack resulting by trying to
allocate more than the maximum size of 4GB.
- prevent ziplist (hash and zset) from reaching size of above 1GB, will be
converted to HT encoding, that's not a useful size.
- prevent listpack (stream) from reaching size of above 1GB.
- XADD will start a new listpack if the new record may cause the previous
listpack to grow over 1GB.
- XADD will respond with an error if a single stream record is over 1GB
- List type (ziplist in quicklist) was truncating strings that were over 4GB,
now it'll respond with an error.
2021-10-04 13:59:40 +03:00
Oran Agra
c34f970be5
Prevent unauthenticated client from easily consuming lots of memory (CVE-2021-32675)
...
This change sets a low limit for multibulk and bulk length in the
protocol for unauthenticated connections, so that they can't easily
cause redis to allocate massive amounts of memory by sending just a few
characters on the network.
The new limits are 10 arguments of 16kb each (instead of 1m of 512mb)
2021-10-04 13:59:40 +03:00
John Sully
9d78b8bb08
Handle the case where the key cache exceeds maxmemory
...
Former-commit-id: 01febf902267fec7fe87e6437b0b81fd08b50963
2021-10-04 07:34:05 +00:00
John Sully
d29df021b1
Use the concurrentqueue for multithread load instead of mutex and cvs
...
Former-commit-id: d5a59113dbfedaf7b62a650cff58a2e8ec01826f
2021-10-04 07:33:03 +00:00
jsully
1f323d743f
Merge branch 'improve_overwrite_performance' into 'keydbpro'
...
Improve overwrite performance
See merge request external-collab/keydb-pro-6!4
Former-commit-id: 7e59e889f28e30fca409dfb951c31f8cb47effbd
2021-09-28 18:13:12 +00:00
John Sully
663f0bca3e
Revert "Don't zero out potentially long buffers" - It has no benefit above the noise floor and potentially is the cause of a multithread slowdown
...
This reverts commit 9a9841afb3ffac4ebece0ec911b35ce1fe1c7e35 [formerly 91e76ab4a00546278100baf6dfe61c13e802b40e].
Former-commit-id: f651cf67d731a10c3a52e30261c8d8b9d291576c
2021-09-28 18:08:15 +00:00