Merge pull request #4861 from soloestoy/rdb-dict-expand

RDB: expand dict if needed when rdb load object
This commit is contained in:
Salvatore Sanfilippo 2018-06-08 12:12:34 +02:00 committed by GitHub
commit 9fa2e7020e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1441,6 +1441,9 @@ robj *rdbLoadObject(int rdbtype, rio *rdb) {
o = createZsetObject(); o = createZsetObject();
zs = o->ptr; zs = o->ptr;
if (zsetlen > DICT_HT_INITIAL_SIZE)
dictExpand(zs->dict,zsetlen);
/* Load every single element of the sorted set. */ /* Load every single element of the sorted set. */
while(zsetlen--) { while(zsetlen--) {
sds sdsele; sds sdsele;
@ -1509,6 +1512,9 @@ robj *rdbLoadObject(int rdbtype, rio *rdb) {
sdsfree(value); sdsfree(value);
} }
if (o->encoding == OBJ_ENCODING_HT && len > DICT_HT_INITIAL_SIZE)
dictExpand(o->ptr,len);
/* Load remaining fields and values into the hash table */ /* Load remaining fields and values into the hash table */
while (o->encoding == OBJ_ENCODING_HT && len > 0) { while (o->encoding == OBJ_ENCODING_HT && len > 0) {
len--; len--;