speedb-io / speedb

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

Unit Testing:Test paired bloom filter as part of db_bloom_filter_test and remove speedb_db_bloom_filter_test suite #809

Closed udi-speedb closed 5 months ago

udi-speedb commented 7 months ago

The paired bloom filter is a plugin module. here is an existing bloom filter test suite called db_bloom_filter_test.cc To test the paired bloom filter, instead of adding the paired bloom filter as another type of filter that will be tested by db_bloom_filter_test.cc, that file was duplicated in the plugin folder (plugin/speedb/paired_filter), and tests only the paired bloom filter. The drawbacks are:

As part of the rebase on RocksDB 8.6.7, db_bloom_filter_test.cc has undergone significant changes. The corresponding changes were NOT made on speedb_db_bloom_filter_test.cc and it was disabled.

A much better alternative would be to support the testing of the paired bloom filter within db_bloom_filter_test.cc, as another type of filter. The paired bloom filter may still remain a plugin module, and may be created using the "CreateFromString()" capability, as is done, for example, in db_bench.