rocksdb/table
Maysam Yabandeh 28a9d8910b Fix the bug with duplicate prefix in partition filters (#4024)
Summary:
https://github.com/facebook/rocksdb/pull/3764 introduced an optimization feature to skip duplicate prefix entires in full bloom filters. Unfortunately it also introduces a bug in partitioned full filters, where the duplicate prefix should still be inserted if it is in a new partition. The patch fixes the bug by resetting the duplicate detection logic each time a partition is cut.
This bug could result into false negatives, which means that DB could skip an existing key.
Closes https://github.com/facebook/rocksdb/pull/4024

Differential Revision: D8518866

Pulled By: maysamyabandeh

fbshipit-source-id: 044f4d988e606a330ecafd8c79daceb68b8796bf
2018-06-19 14:12:46 -07:00
..
adaptive_table_factory.cc
adaptive_table_factory.h
block.cc Should only decode restart points for uncompressed blocks (#3996) 2018-06-15 19:26:58 -07:00
block.h Fix performance regression in Get() for block-based tables (#3953) 2018-06-05 11:43:16 -07:00
block_based_filter_block.cc Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
block_based_filter_block.h Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
block_based_filter_block_test.cc Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
block_based_table_builder.cc run make format for PR 3838 (#3954) 2018-06-05 12:58:02 -07:00
block_based_table_builder.h run make format for PR 3838 (#3954) 2018-06-05 12:58:02 -07:00
block_based_table_factory.cc Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
block_based_table_factory.h
block_based_table_reader.cc BlockBasedTableIterator to keep BlockIter after out of upper bound (#4004) 2018-06-19 09:57:11 -07:00
block_based_table_reader.h Fix the bug with duplicate prefix in partition filters (#4024) 2018-06-19 14:12:46 -07:00
block_builder.cc
block_builder.h
block_fetcher.cc run make format for PR 3838 (#3954) 2018-06-05 12:58:02 -07:00
block_fetcher.h
block_prefix_index.cc
block_prefix_index.h
block_test.cc Exclude seq from index keys 2018-05-25 18:42:43 -07:00
bloom_block.cc
bloom_block.h
cleanable_test.cc
cuckoo_table_builder.cc
cuckoo_table_builder.h
cuckoo_table_builder_test.cc Should only decode restart points for uncompressed blocks (#3996) 2018-06-15 19:26:58 -07:00
cuckoo_table_factory.cc
cuckoo_table_factory.h
cuckoo_table_reader.cc Should only decode restart points for uncompressed blocks (#3996) 2018-06-15 19:26:58 -07:00
cuckoo_table_reader.h Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
cuckoo_table_reader_test.cc Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
filter_block.h Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
flush_block_policy.cc
format.cc run make format for PR 3838 (#3954) 2018-06-05 12:58:02 -07:00
format.h run make format for PR 3838 (#3954) 2018-06-05 12:58:02 -07:00
full_filter_bits_builder.h
full_filter_block.cc Fix the bug with duplicate prefix in partition filters (#4024) 2018-06-19 14:12:46 -07:00
full_filter_block.h Fix the bug with duplicate prefix in partition filters (#4024) 2018-06-19 14:12:46 -07:00
full_filter_block_test.cc Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
get_context.cc
get_context.h
index_builder.cc Extend format 3 to partitioned index/filters (#3958) 2018-06-06 16:58:16 -07:00
index_builder.h Extend format 3 to partitioned index/filters (#3958) 2018-06-06 16:58:16 -07:00
internal_iterator.h
iter_heap.h
iterator.cc
iterator_wrapper.h
merger_test.cc
merging_iterator.cc Fix regression bug of Prev() with upper bound (#3989) 2018-06-12 16:57:36 -07:00
merging_iterator.h
meta_blocks.cc Should only decode restart points for uncompressed blocks (#3996) 2018-06-15 19:26:58 -07:00
meta_blocks.h Should only decode restart points for uncompressed blocks (#3996) 2018-06-15 19:26:58 -07:00
mock_table.cc Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
mock_table.h Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
partitioned_filter_block.cc Fix the bug with duplicate prefix in partition filters (#4024) 2018-06-19 14:12:46 -07:00
partitioned_filter_block.h Extend format 3 to partitioned index/filters (#3958) 2018-06-06 16:58:16 -07:00
partitioned_filter_block_test.cc Fix the bug with duplicate prefix in partition filters (#4024) 2018-06-19 14:12:46 -07:00
persistent_cache_helper.cc
persistent_cache_helper.h
persistent_cache_options.h
plain_table_builder.cc Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
plain_table_builder.h Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
plain_table_factory.cc Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
plain_table_factory.h
plain_table_index.cc
plain_table_index.h Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
plain_table_key_coding.cc
plain_table_key_coding.h
plain_table_reader.cc Should only decode restart points for uncompressed blocks (#3996) 2018-06-15 19:26:58 -07:00
plain_table_reader.h Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
scoped_arena_iterator.h
sst_file_writer.cc Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
sst_file_writer_collectors.h
table_builder.h Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
table_properties.cc Exclude seq from index keys 2018-05-25 18:42:43 -07:00
table_properties_internal.h
table_reader.h Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
table_reader_bench.cc Move prefix_extractor to MutableCFOptions 2018-05-21 14:43:11 -07:00
table_test.cc Should only decode restart points for uncompressed blocks (#3996) 2018-06-15 19:26:58 -07:00
two_level_iterator.cc
two_level_iterator.h