summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhuangzhw <hzweveryday@126.com>2020-07-10 13:29:44 +0800
committerOran Agra <oran@redislabs.com>2020-10-27 08:49:22 +0200
commit918c9aa58c2985cb8e0682e24177d71af3d6f815 (patch)
tree552f9244ba8819d9381fb0c8605889c9874b3516
parent8cc66985673ce1cd1194f4c01d297b3fd39ae4ea (diff)
downloadredis-918c9aa58c2985cb8e0682e24177d71af3d6f815.tar.gz
defrag.c activeDefragSdsListAndDict when defrag sdsele, We can't use (#7492)
it to calculate hash, we should use newsds. (cherry picked from commit d6180c8c8674ffdae3d6efa5f946d85fe9163464) (cherry picked from commit 7b21b8c3fbf288f379f489c3861fa05e04fe770c)
-rw-r--r--src/defrag.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/defrag.c b/src/defrag.c
index ecf0255dc..ea44b2386 100644
--- a/src/defrag.c
+++ b/src/defrag.c
@@ -355,7 +355,7 @@ long activeDefragSdsListAndDict(list *l, dict *d, int dict_val_type) {
sdsele = ln->value;
if ((newsds = activeDefragSds(sdsele))) {
/* When defragging an sds value, we need to update the dict key */
- uint64_t hash = dictGetHash(d, sdsele);
+ uint64_t hash = dictGetHash(d, newsds);
replaceSateliteDictKeyPtrAndOrDefragDictEntry(d, sdsele, newsds, hash, &defragged);
ln->value = newsds;
defragged++;