Open keithchew opened 7 months ago
I can confirm that in StorageCache.h key_load_itr() method:
data->itrParent(rgchKey, cchKey, data->privdataParent);
is passing in const char* to the iterator, which is not consistent with how rdb loading passes the key to the iterator. It should be converted to sds, ie:
sds sdsKey = sdsnewlen(rgchKey, cchKey);
Describe the bug
There are 2 places where KeyDB does a KeySpaceEvent:
in db.cpp (for flash):
and in rdb.cpp (for RDB):
Testing a single key in the DB:
start keydb-server without flash, the module will log out the key:
stop keydb-server enable flash storage provider start keydb-server, the RDB will be loaded into flash stop keydb-server start keydb-server, the module will log out the key:
You can see the key is different, causing an issue in the module.
This notification was added in v6.3.3.
Expected behavior
Key to be correct, ie match up with RDB version.