speedb-io / speedb

A RocksDB compliant high performance scalable embedded key-value store
https://www.speedb.io/
Apache License 2.0
912 stars 71 forks source link

Should be able to use different FilterPolicy for different SST files #739

Open mrambacher opened 12 months ago

mrambacher commented 12 months ago

If you use different FilterPolicy that are not compatible (derived from the same base), the BlockBasedTable code will not properly use the different policies for different SST files. The problem is that when an SST file is read, the filter is used not based on the data stored in the SST file but instead based on the data stored in the BlockBasedTableOptions.

Potentially, something similar will also happen if some files have a filter policy and others do not, though this has not been tested.