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
Alexandre Chichmanian
16e8469316
Fix aws startup check preventing keydb from starting
2023-05-30 00:34:15 -04:00
Malavan Sotheeswaran
ef8b1bf373
add fPreSnapshot to evictionTimeProc
2023-05-25 00:03:39 -07:00
Attila Nagy
f629a76a2e
Make it compile on FreeBSD ( #650 )
2023-05-08 15:59:36 -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
36d515ef39
ptrFromObj to szFromObj
2023-04-18 17:08:27 -07:00
Malavan Sotheeswaran
525c97d6cd
->ptr to ptrFromObj
2023-04-18 17:08:27 -07:00
chendianqiang
4c200e0985
fix hincrbyfloat not to create a key if the new value is invalid ( #11149 )
...
Check the validity of the value before performing the create operation,
prevents new data from being generated even if the request fails to execute.
Co-authored-by: Oran Agra <oran@redislabs.com>
Co-authored-by: chendianqiang <chendianqiang@meituan.com>
Co-authored-by: Binbin <binloveplay1314@qq.com>
2023-04-18 17:08:27 -07:00
Oran Agra
d4c0a970e7
Integer Overflow in RAND commands can lead to assertion (CVE-2023-25155) ( #11857 )
...
Issue happens when passing a negative long value that greater than
the max positive value that the long can store.
2023-04-18 17:08:27 -07:00
Malavan Sotheeswaran
1735e73a35
don't count base repl buffer size as overhead ( #629 )
2023-04-12 16:01:22 -04:00
Heng Kuang
f9ccf90566
fix the swapdb issue ( #620 )
2023-04-12 15:08:09 -04:00
Malavan Sotheeswaran
f54e3ea367
restore fork impl of save to replica sockets ( #622 )
...
* restore fork impl of save to slave sockets
* default to fork bgsave
2023-04-06 22:13:12 -04:00
Ubuntu
77bc0afad4
add key eviction number for storage
2023-04-06 15:09:10 -04:00
Malavan Sotheeswaran
858db2645d
add g_expirelock to previously async accesses to expireset ( #618 )
...
* add expire_lock to previously async access to expireset
* add flash option to create-cluster
2023-03-30 23:23:56 -04:00
Malavan Sotheeswaran
06380e5fe1
Add KeyDB global variable to lua api ( #606 )
2023-03-14 13:45:29 -07:00
Malavan Sotheeswaran
deaaa992bd
don't do if statement on every key for flash load, use stack object for module notify ( #604 )
2023-03-13 18:16:17 -04:00
Malavan Sotheeswaran
715f832b00
make connectWithMaster error message less confusing ( #592 )
2023-03-08 16:00:53 -05:00
Malavan Sotheeswaran
c8dd6744da
Add config for AWS s3 rdb save/load. ( #591 )
...
* add s3 config
* missing include
* ignore s3 config in config test
* Update introspection.tcl
* Update config.cpp
2023-03-08 16:00:44 -05:00
Malavan Sotheeswaran
b398021b2c
update slotToKey during fast load ( #589 )
2023-03-08 15:54:50 -05:00
Malavan Sotheeswaran
c2077a2fbd
Fix rdb fd leak ( #579 )
...
* close tempfile when done bgsave
* declare getTempFileName
* open close child pipes in correct place
* assert no existing child pipe when opening new child pipe
2023-03-02 13:51:47 -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
4ac449aee7
Merge pull request #575 from EreMaijala/main-issue-537
...
Close child info pipes when RDB save thread is done.
2023-02-21 17:47:43 -05:00
Ere Maijala
db2c3cd7e8
Close child info pipes when RDB save thread is done.
2023-02-20 11:07:21 +02:00
Malavan Sotheeswaran
5f5eb0e1b0
Merge pull request #570 from Snapchat/fix_snprint_uses
...
Fix snprintf uses to avoid hardcoded sizes
2023-02-14 22:20:29 -05:00
Malavan Sotheeswaran
045cc52c1f
don't use sizeof on malloc'd pointer
2023-02-14 18:23:35 -08:00
Malavan Sotheeswaran
819bcc1f2a
don't sizeof on a pointer
2023-02-14 17:51:26 -08:00
Malavan Sotheeswaran
7fcbfac103
snprintf fix
2023-02-14 17:51:19 -08:00
Malavan Sotheeswaran
0bf6a0c375
Merge pull request #560 from Snapchat/aof_fixes
...
* technically possible for child_type == CHILD_TYPE_AOF without active child
* don't release lock on child as it can hang
* need child specific release that doesn't trigger cv
* refactor aeReleaseForkLockChild to capture releaseRead case
* rdb_child_pid isn't the correct value
2023-02-13 13:07:53 -05:00
Malavan Sotheeswaran
62d281b522
Don't do async keys command when client cannot block ( #564 )
...
Fixes #562
2023-02-13 13:01:41 -05:00
Malavan Sotheeswaran
9f4c6e6f15
using forked bg save causes more harm than good
2023-02-10 01:23:52 -08:00
Malavan Sotheeswaran
6c26f91bcd
rdb_child_pid isn't the correct value
2023-02-10 01:13:12 -08:00
Malavan Sotheeswaran
932fc207ea
make bgsave fork by default
2023-02-09 12:22:29 -08:00
Malavan Sotheeswaran
0cba0ed30b
refactor aeReleaseForkLockChild to capture releaseRead case
2023-02-09 12:06:27 -08:00
Malavan Sotheeswaran
b5ab1d64e2
need child specific release that doesn't trigger cv
2023-02-09 10:28:22 -08:00
Malavan Sotheeswaran
3492615c6a
don't release lock on child as it can hang
2023-02-09 09:39:25 -08:00
Malavan Sotheeswaran
f3a9d2e0cd
technically possible for child_type == CHILD_TYPE_AOF without active child
2023-02-06 20:33:21 -08:00
Malavan Sotheeswaran
a1978ce04c
Add support to notify modules of keys loaded by flash on startup ( #536 )
2023-02-06 12:52:32 -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
John Sully
687850a612
Make semi-ordered-set rehashing configurable to aid in latency tuning
2023-01-31 11:30:39 -08:00
John Sully
d4555a6e38
We need to check for AE_DONT_WAIT after it is set in beforeSleep otherwise we'll miss it
2023-01-31 11:27:59 -08:00
Malavan Sotheeswaran
fc8e4804b2
remove extra call to handleBlockedClientsTimeout ( #557 )
2023-01-30 16:23:00 -05:00
benschermel
1113488991
fix typo & discrepancy
2023-01-25 11:42:36 -05:00
Malavan Sotheeswaran
694fc59f2a
move memory check before rocksdb to avoid crash in child
2023-01-23 13:26:27 -08:00
Malavan Sotheeswaran
7e91711086
fix debian 12 test failure
2023-01-23 13:26:24 -08:00
Malavan Sotheeswaran
ff7991951f
Fix optional flash build ( #549 )
...
Currently flash is always built, with this change it is actually optional.
2023-01-23 16:22:01 -05:00
Malavan Sotheeswaran
d7c34a8ced
Properly handle case where we delete a key that doesn't exist while a write batch is active ( #550 )
2023-01-23 16:21:27 -05:00
0xflotus
c3343ddbd7
fix: small errors in readme ( #535 )
2023-01-20 16:11:01 -05:00
Malavan Sotheeswaran
ad0be5666c
Security fixes from redis: Avoid integer overflows in SETRANGE and SORT, Fix range issues in ZRANDMEMBER and HRANDFIELD ( #547 )
...
* Avoid integer overflows in SETRANGE and SORT (CVE-2022-35977) (#11720 )
Authenticated users issuing specially crafted SETRANGE and SORT(_RO)
commands can trigger an integer overflow, resulting with Redis attempting
to allocate impossible amounts of memory and abort with an OOM panic.
* Fix range issues in ZRANDMEMBER and HRANDFIELD (CVE-2023-22458) (#11674 )
missing range check in ZRANDMEMBER and HRANDIFLD leading to panic due
to protocol limitations
* use std::min/max
* add assert_not_equal
Co-authored-by: Oran Agra <oran@redislabs.com>
2023-01-17 17:10:39 -05:00