redict/src
zhaozhao.zz 8e11f84ded
Fix replica node cannot expand dicts when loading legacy RDB (#12839)
When loading RDB on cluster nodes, it is necessary to consider the
scenario where a node is a replica.

For example, during a rolling upgrade, new version instances are often
mounted as replicas on old version instances. In this case, the full
synchronization legacy RDB does not contain slot information, and the
new version instance, acting as a replica, should be able to handle the
legacy RDB correctly for `dbExpand`.

Additionally, renaming `getMyClusterSlotCount` to `getMyShardSlotCount`
would be appropriate.

Introduced in #11695
2023-12-07 14:30:48 +08:00
..
commands support XREAD[GROUP] with BLOCK option in scripts (#12596) 2023-10-12 10:54:50 +03:00
modules use $^ instead of $< for linker in module makefile (#10530) 2022-04-05 17:08:27 +03:00
.gitignore Ignore gcov/lcov artifacts 2012-04-13 17:52:33 -07:00
acl.c Change addReplyErrorFormat to addReplyError when there is no format (#12641) 2023-11-30 12:36:17 +02:00
adlist.c Remove duplicate code in listAddNodeTail (#11733) 2023-01-20 13:18:52 -08:00
adlist.h optimize unwatchAllKeys() (#11511) 2022-11-23 17:39:08 +02:00
ae_epoll.c Fail fast when systemic error occurs in poll (#8749) 2021-04-26 15:52:06 +03:00
ae_evport.c Fix cluster bus extensions backwards compatibility (#10206) 2022-01-30 19:43:37 +02:00
ae_kqueue.c Fix the timing of read and write events under kqueue (#9416) 2021-09-02 11:07:51 +03:00
ae_select.c fix unused argument warning in ae_select.c (#10824) 2022-06-07 14:47:09 +03:00
ae.c Fix overflow calculation for next timer event (#12474) 2023-09-24 13:31:12 +03:00
ae.h Add event loop support to the module API (#10001) 2022-01-18 13:10:07 +02:00
anet.c Fix issue of listen before chmod on Unix sockets (CVE-2023-45145) (#12671) 2023-10-18 14:00:00 +03:00
anet.h Fix RDB check regression caused by PR 12022 (#12051) 2023-04-17 21:05:36 +03:00
aof.c check dbSize when rewrite AOF, in case unnecessary SELECT (#12775) 2023-11-17 19:00:26 +08:00
asciilogo.h Changes http to https in texts (#8495) 2021-03-10 19:11:16 +02:00
atomicvar.h Print stack trace from all threads in crash report (#12453) 2023-09-24 09:47:23 +03:00
bio.c Print strerror when bio initialization fails (#12333) 2023-06-21 17:57:11 +03:00
bio.h Implementing the WAITAOF command (issue #10505) (#11713) 2023-03-14 20:26:21 +02:00
bitops.c BITCOUNT and BITPOS with non-existing key and illegal arguments should return error, not 0 (#11734) 2023-08-21 19:48:30 +03:00
blocked.c Modules: Unblock from within a timer coverage (#12337) 2023-06-22 23:15:16 +03:00
call_reply.c Support for RM_Call on blocking commands (#11568) 2023-03-16 14:04:31 +02:00
call_reply.h Support for RM_Call on blocking commands (#11568) 2023-03-16 14:04:31 +02:00
childinfo.c fixes for fork child exit and test: #11463 (#11499) 2022-11-12 20:35:34 +02:00
cli_commands.c Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
cli_commands.h Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
cli_common.c redis-cli: Support URIs with IPv6 (#11834) 2023-06-29 19:32:01 +03:00
cli_common.h Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
cluster_legacy.c Fix replica node cannot expand dicts when loading legacy RDB (#12839) 2023-12-07 14:30:48 +08:00
cluster_legacy.h Cluster refactor: Move more stuff from cluster.h to cluster_legacy.h 2023-11-22 05:54:03 +02:00
cluster.c add some file level comments and copyright (#12793) 2023-11-22 11:32:23 +02:00
cluster.h Fix replica node cannot expand dicts when loading legacy RDB (#12839) 2023-12-07 14:30:48 +08:00
commands.c Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
commands.def support XREAD[GROUP] with BLOCK option in scripts (#12596) 2023-10-12 10:54:50 +03:00
commands.h Replaced comment with excessive warning. 2023-07-16 17:04:15 -05:00
config.c format cpu config as redis style (#7351) 2023-11-29 13:40:06 +08:00
config.h Fix compile on macOS 13 (#12611) 2023-10-08 11:12:50 +03:00
connection.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
connection.h Support TLS service when "tls-cluster" is not enabled and persist both plain and TLS port in nodes.conf (#12233) 2023-06-26 07:43:38 -07:00
connhelpers.h Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
crc16_slottable.h Added basic support for clusters to redis-benchmark. 2019-03-01 17:53:14 +01:00
crc16.c RDMF (Redis/Disque merge friendlyness) refactoring WIP 1. 2015-07-26 15:17:18 +02:00
crc64.c Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
crc64.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
crcspeed.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
crcspeed.h Added crcspeed library 2020-04-24 17:11:21 -07:00
db.c Fix replica node cannot expand dicts when loading legacy RDB (#12839) 2023-12-07 14:30:48 +08:00
debug.c Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
debugmacro.h Supplement define guards to prevent multiple inclusion (#10246) 2022-02-06 20:13:34 -08:00
defrag.c Reset later item flag after defrag later is done (#12694) 2023-10-27 13:56:15 +03:00
dict.c Optimize CPU cache efficiency on dict while rehashing in dictTwoPhaseUnlinkFind (#12818) 2023-11-30 13:50:09 +08:00
dict.h Reduce dbBuckets operation time complexity from O(N) to O(1) (#12697) 2023-10-27 22:05:40 +03:00
endianconv.c Avoid using unsafe C functions (#10932) 2022-07-18 10:56:26 +03:00
endianconv.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
eval.c Check whether the client is NULL in luaCreateFunction (#12829) 2023-12-04 20:12:48 +02:00
evict.c Fix outdated LFU comments to eliminate confusion (#12244) 2023-12-06 20:46:57 +02:00
expire.c Optimize the efficiency of active expiration when databases exceeds 16. (#12738) 2023-11-27 12:12:12 +08:00
fmacros.h Fix some compile warnings and errors when building with gcc-12 or clang (#12035) 2023-04-18 09:53:51 +03:00
fmtargs.h Rewrite huge printf calls to smaller ones for readability (#12257) 2023-09-28 09:21:23 +03:00
function_lua.c Ensure that the function load timeout is disabled during loading from RDB/AOF and on replicas. (#12451) 2023-08-02 11:43:31 +03:00
functions.c Ensure that the function load timeout is disabled during loading from RDB/AOF and on replicas. (#12451) 2023-08-02 11:43:31 +03:00
functions.h Ensure that the function load timeout is disabled during loading from RDB/AOF and on replicas. (#12451) 2023-08-02 11:43:31 +03:00
geo.c Change addReplyErrorFormat to addReplyError when there is no format (#12641) 2023-11-30 12:36:17 +02:00
geo.h RDMF (Redis/Disque merge friendlyness) refactoring WIP 1. 2015-07-26 15:17:18 +02:00
geohash_helper.c GEOSEARCH BYBOX: Simplified haversine distance formula when longitude diff is 0 (#11579) 2022-12-05 15:45:04 +02:00
geohash_helper.h Delete some unimplemented prototype. (#8882) 2021-04-29 08:25:10 +03:00
geohash.c Fix mistake / outdated doc comment (#10521) 2022-04-04 15:35:49 +03:00
geohash.h Remove duplicate header file include (#10264) 2022-02-08 16:49:47 +02:00
hyperloglog.c Call signalModifiedKey after the key modification is completed (#11144) 2023-11-27 11:16:41 +08:00
intset.c Listpack encoding for sets (#11290) 2022-11-09 19:50:07 +02:00
intset.h Listpack encoding for sets (#11290) 2022-11-09 19:50:07 +02:00
latency.c Add basic eventloop latency measurement. (#11963) 2023-05-12 20:13:15 +03:00
latency.h Add basic eventloop latency measurement. (#11963) 2023-05-12 20:13:15 +03:00
lazyfree.c Replace cluster metadata with slot specific dictionaries (#11695) 2023-10-14 23:58:26 -07:00
listpack_malloc.h Use dummy allocator to make accesses defined as per standard (#11982) 2023-04-10 20:38:40 +03:00
listpack.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
listpack.h When converting a set to dict, presize for one more element to be added (#11559) 2022-12-06 11:25:51 +02:00
localtime.c fix typos (#10402) 2022-03-09 13:58:23 +02:00
logreqres.c Minor change around the req-res validator, skip sentinel commands (#12083) 2023-04-20 23:28:44 +03:00
lolwut5.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
lolwut6.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
lolwut.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
lolwut.h add include guard for lolwut.h 2020-05-05 23:35:08 -04:00
lzf_c.c Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzf_d.c Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzf.h Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzfP.h Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
Makefile Cluster refactor: rename cluster.c -> cluster_legacy.c 2023-11-21 12:49:14 +02:00
memtest.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
mkreleasehdr.sh Only rebuild server when src or deps are modified (#12799) 2023-12-04 19:24:24 -08:00
module.c Un-register notification and server event when RedisModule_OnLoad fails (#12809) 2023-11-27 17:26:33 +02:00
monotonic.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
monotonic.h Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
mt19937-64.c Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
mt19937-64.h Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
multi.c Replace cluster metadata with slot specific dictionaries (#11695) 2023-10-14 23:58:26 -07:00
networking.c Cluster refactor: Make clusterNode private 2023-11-22 05:50:46 +02:00
notify.c Add RM_PublishMessageShard (#10543) 2022-04-17 15:43:22 +03:00
object.c Replace cluster metadata with slot specific dictionaries (#11695) 2023-10-14 23:58:26 -07:00
pqsort.c Fix null pointer subtraction warning (#10498) 2022-04-04 18:38:18 +03:00
pqsort.h BSD license added to every C source and header file. 2012-11-08 18:31:32 +01:00
pubsub.c Optimize PSUBSCRIBE and PUNSUBSCRIBE from O(N*M) to O(N) (#12298) 2023-06-19 16:31:18 +03:00
quicklist.c Add listpack encoding for list (#11303) 2022-11-16 20:29:46 +02:00
quicklist.h Add listpack encoding for list (#11303) 2022-11-16 20:29:46 +02:00
rand.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
rand.h Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
rax_malloc.h Cluster: hash slots tracking using a radix tree. 2017-03-27 16:37:22 +02:00
rax.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
rax.h Squash merging 125 typo/grammar/comment/doc PRs (#7773) 2020-09-10 13:43:38 +03:00
rdb.c Fix multi dbs donot dbExpand when loading RDB (#12840) 2023-12-06 10:59:56 +02:00
rdb.h Replace cluster metadata with slot specific dictionaries (#11695) 2023-10-14 23:58:26 -07:00
redis-benchmark.c Add an explanation for URI with -u in redis-cli --help (#12751) 2023-11-19 15:09:14 +02:00
redis-check-aof.c redis-check-aof.c: Avoid leaking file handle if file is zero bytes (#12797) 2023-11-23 10:08:49 +02:00
redis-check-rdb.c Fix the check for new RDB_OPCODE_SLOT_INFO in redis-check-rdb (#12768) 2023-11-29 14:25:17 +02:00
redis-cli.c redis-cli --bigkeys ,--hotkeys and --memkeys to replica in cluster mode (#12735) 2023-11-20 09:33:28 +02:00
redis-trib.rb Redis-trib deprecated: it no longer works and it 2018-07-13 10:51:58 +02:00
redisassert.c Add sanitizer support and clean up sanitizer findings (#9601) 2021-11-11 13:51:33 +02:00
redisassert.h Fix a prototype inconsitency of _serverAssert between redisassert.h and redis.h (#10872) 2022-06-19 08:42:12 +03:00
redismodule.h Allows modules to declare new ACL categories. (#12486) 2023-08-30 13:01:24 -07:00
release.c Build TLS as a loadable module 2022-08-23 12:37:56 +03:00
replication.c Change addReplyErrorFormat to addReplyError when there is no format (#12641) 2023-11-30 12:36:17 +02:00
resp_parser.c cleanup NBSP characters in comments (#10555) 2023-03-15 11:05:42 +02:00
resp_parser.h Fix an mistake in comment (#10560) 2022-04-10 09:29:50 +03:00
rio.c Reclaim page cache of RDB file (#11248) 2023-02-12 09:23:29 +02:00
rio.h Reclaim page cache of RDB file (#11248) 2023-02-12 09:23:29 +02:00
script_lua.c Change addReplyErrorFormat to addReplyError when there is no format (#12641) 2023-11-30 12:36:17 +02:00
script_lua.h Protect any table which is reachable from globals and added globals white list. 2022-04-27 00:37:40 +03:00
script.c Cluster refactor: Make clusterState private 2023-11-22 05:44:10 +02:00
script.h Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
sds.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
sds.h Optimization: sdsRemoveFreeSpace to avoid realloc on noop (#11766) 2023-01-31 17:26:35 +02:00
sdsalloc.h Sanitize dump payload: fail RESTORE if memory allocation fails 2020-12-06 14:54:34 +02:00
sentinel.c Bump codespell from 2.2.4 to 2.2.5 (#12557) 2023-09-08 16:10:17 +03:00
server.c Make the sampling logic in eviction clearer (#12781) 2023-12-06 09:37:24 +08:00
server.h Make the sampling logic in eviction clearer (#12781) 2023-12-06 09:37:24 +08:00
setcpuaffinity.c cpu affinity: DragonFlyBSD support (#7956) 2020-10-25 14:14:05 +02:00
setproctitle.c Fix failed tests on Linux Alpine and add a CI job. (#8532) 2021-02-23 12:57:45 +02:00
sha1.c Ignore -Wstringop-overread warning for SHA1Transform() on GCC 12 (#11538) 2022-11-24 15:27:16 +02:00
sha1.h Fix some compile warnings and errors when building with gcc-12 or clang (#12035) 2023-04-18 09:53:51 +03:00
sha256.c Add sanitizer support and clean up sanitizer findings (#9601) 2021-11-11 13:51:33 +02:00
sha256.h fix explanation of sha256 (#9220) 2021-07-10 10:04:54 -05:00
siphash.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
slowlog.c minor optimization for slowlog get (#12103) 2023-04-25 10:17:21 +03:00
slowlog.h Auto-generate the command table from JSON files (#9656) 2021-12-15 21:23:15 +02:00
socket.c Support maxiov per connection type (#12234) 2023-05-28 08:35:27 +03:00
solarisfixes.h Check for __sun macro in solarisfixes.h, not in includers. 2015-01-09 11:23:22 +01:00
sort.c Avoid integer overflows in SETRANGE and SORT (CVE-2022-35977) (#11720) 2023-01-16 13:49:30 +02:00
sparkline.c Fix Uninitialised value error in createSparklineSequence (LATENCY GRAPH) (#11892) 2023-03-09 12:05:50 +02:00
sparkline.h LATENCY GRAPH implemented. 2014-07-02 16:31:22 +02:00
stream.h Stream consumers: Re-purpose seen-time, add active-time (#11099) 2022-11-30 14:21:31 +02:00
strl.c Avoid using unsafe C functions (#10932) 2022-07-18 10:56:26 +03:00
syncio.c syncWithMaster(): non blocking state machine. 2015-08-06 18:12:20 +02:00
syscheck.c fix typos in syscheck (#11710) 2023-01-22 16:32:20 +02:00
syscheck.h Add warning for suspected slow system clocksource setting (#10636) 2022-05-22 17:10:31 +03:00
t_hash.c Replace cluster metadata with slot specific dictionaries (#11695) 2023-10-14 23:58:26 -07:00
t_list.c Call signalModifiedKey after the key modification is completed (#11144) 2023-11-27 11:16:41 +08:00
t_set.c Replace cluster metadata with slot specific dictionaries (#11695) 2023-10-14 23:58:26 -07:00
t_stream.c support XREAD[GROUP] with BLOCK option in scripts (#12596) 2023-10-12 10:54:50 +03:00
t_string.c Optimize SET PXAT to reduce calls of rewriteClientCommandVector (#12316) 2023-06-15 10:07:47 +03:00
t_zset.c Call signalModifiedKey after the key modification is completed (#11144) 2023-11-27 11:16:41 +08:00
testhelp.h skip new page cache reclame unit test when running in valgrind (#11808) 2023-02-16 10:50:58 +02:00
threads_mngr.c Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
threads_mngr.h Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
timeout.c Blocking command with a 0.001 seconds timeout blocks indefinitely (#11688) 2023-01-08 01:02:48 -08:00
tls.c Fix potential crash on failed OpenSSL init (#12447) 2023-08-31 22:45:36 +03:00
tracking.c Fix the bug that CLIENT REPLY OFF|SKIP cannot receive push notifications (#11875) 2023-03-12 17:50:44 +02:00
unix.c Support maxiov per connection type (#12234) 2023-05-28 08:35:27 +03:00
util.c Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
util.h Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
valgrind.sup Sanitize dump payload: fuzz tester and fixes for segfaults and leaks it exposed 2020-12-06 14:54:34 +02:00
version.h Add Module API for version and compatibility checks (#7865) 2020-10-11 17:21:58 +03:00
ziplist.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
ziplist.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
zipmap.c Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
zipmap.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
zmalloc.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
zmalloc.h enable malloc_usable_size on haiku and dragonflybsd. (#12237) 2023-05-28 08:44:28 +03:00