google / google/leveldb

Filter name key is not an internal key?

Open
#342 0 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
C++
Stars
39.4k
Forks
8.2k
PR merge metrics
No merged PRs in 30d

Description

Line 222 of table/table_builder.cc (TableBuilder::Finish()) adds a simple std::string as the key for the bloom filter block. However, all other block keys are internal keys, which include the sequence number / ValueType suffix. There are millions of .sst files read and written with this scenario. So it is obviously not fatal.

However, I am guessing that all previously written tables would find their bloom filter ignored if I were to correct it and the matching Table::Open code. There would have to be some magic that knows "old key will be short and have bad suffix".

Would you confirm if this is a correct interpretation of the problem? I am not sure it needs to be addressed, just verifying understanding.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.