Tendis
Tendis copied to clipboard
When enabled RocksDB's blob_db support, non-blob key could be lost randomly
Description
When rocks.enable_blob_files
is enabled, non-blob key could be gone randomly, either before TTL reached or no TTL is set at all.
Expected Behavior
Keys with TTL must be present before TTL reaches. Keys without TTL must be present before the user explicitly deletes them.
Current Behavior
Keys(only non-blob key) are gone randomly.
Possible Solution
Related to https://github.com/facebook/rocksdb/pull/10391
Steps to Reproduce (for bugs)
- Insert a key(named KEYA) without TTL, and value size < min_blob_size
- At the same time, using
redis-benchmark
to set keys with value size greater thanmin_blob_size
- invoke reshape to trigger RocksDB to compact
Will find out the KEYA will be gone.
Context
Your Environment
Tendis 2.5.0
好,谢谢反馈,我们考虑下解决方法~
这是rocksdb早期版本的一个bug,tendis2.7.0版本将rocksdb升级到了8.5.3版本,从而解决了这个问题。感谢leon的建议~