summaryrefslogtreecommitdiff
path: root/src/defrag.c
diff options
context:
space:
mode:
authorhuangzhw <hzweveryday@126.com>2020-07-10 13:29:44 +0800
committerGitHub <noreply@github.com>2020-07-10 08:29:44 +0300
commitd6180c8c8674ffdae3d6efa5f946d85fe9163464 (patch)
treeac3f8a479f00f9493b34c0b0fd6dec0f0e4d5d33 /src/defrag.c
parent909bc97c526db757a3d022b29911ff6d08eba59c (diff)
downloadredis-d6180c8c8674ffdae3d6efa5f946d85fe9163464.tar.gz
defrag.c activeDefragSdsListAndDict when defrag sdsele, We can't use (#7492)
it to calculate hash, we should use newsds.
Diffstat (limited to 'src/defrag.c')
-rw-r--r--src/defrag.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/defrag.c b/src/defrag.c
index 6e5296632..2d8db8ea5 100644
--- a/src/defrag.c
+++ b/src/defrag.c
@@ -348,7 +348,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++;