From d6180c8c8674ffdae3d6efa5f946d85fe9163464 Mon Sep 17 00:00:00 2001 From: huangzhw Date: Fri, 10 Jul 2020 13:29:44 +0800 Subject: [PATCH] defrag.c activeDefragSdsListAndDict when defrag sdsele, We can't use (#7492) it to calculate hash, we should use newsds. --- src/defrag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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++;