rocksdb/db
Andrew Kryczka 2b81d372eb fix deleterange with memtable prefix bloom
Summary:
the range delete tombstones in memtable should be added to the aggregator even when the memtable's prefix bloom filter tells us the lookup key's not there. This bug could cause data to temporarily reappear until the memtable containing range deletions is flushed.

Reported in #2743.
Closes https://github.com/facebook/rocksdb/pull/2745

Differential Revision: D5639007

Pulled By: ajkr

fbshipit-source-id: 04fc6facb6f978340a3f639536f4ca7c0d73dfc9
2017-08-29 23:02:34 -07:00
..
builder.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
builder.h Change RocksDB License 2017-07-26 11:31:01 -07:00
c_test.c support merge and delete in file ingestion 2017-05-26 12:11:21 -07:00
c.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
column_family_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
column_family.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
column_family.h Change RocksDB License 2017-07-26 11:31:01 -07:00
compact_files_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
compacted_db_impl.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
compacted_db_impl.h Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_iteration_stats.h Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_iterator_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_iterator.cc Remove some left-over BSD headers 2017-07-26 11:31:42 -07:00
compaction_iterator.h Remove some left-over BSD headers 2017-07-26 11:31:42 -07:00
compaction_job_stats_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_job_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_job.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_job.h Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_picker_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_picker_universal.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_picker_universal.h Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_picker.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_picker.h Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction.cc Fix false removal of tombstone issue in FIFO and kCompactionStyleNone 2017-08-15 14:12:19 -07:00
compaction.h Change RocksDB License 2017-07-26 11:31:01 -07:00
comparator_db_test.cc Remove some left-over BSD headers 2017-07-26 11:31:42 -07:00
convenience.cc Remove some left-over BSD headers 2017-07-26 11:31:42 -07:00
corruption_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
cuckoo_table_db_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_basic_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_block_cache_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_bloom_filter_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_compaction_filter_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_compaction_test.cc fix deletion dropping in intra-L0 2017-08-11 19:07:16 -07:00
db_dynamic_level_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_encryption_test.cc Encryption at rest support 2017-06-26 16:56:24 -07:00
db_filesnapshot.cc Remove some left-over BSD headers 2017-07-26 11:31:42 -07:00
db_flush_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_impl_compaction_flush.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_impl_debug.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_impl_experimental.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_impl_files.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_impl_open.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_impl_readonly.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_impl_readonly.h Change RocksDB License 2017-07-26 11:31:01 -07:00
db_impl_write.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_impl.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_impl.h Change RocksDB License 2017-07-26 11:31:01 -07:00
db_info_dumper.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_info_dumper.h Change RocksDB License 2017-07-26 11:31:01 -07:00
db_inplace_update_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_io_failure_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_iter_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_iter.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_iter.h Change RocksDB License 2017-07-26 11:31:01 -07:00
db_iterator_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_log_iter_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_memtable_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_merge_operator_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_options_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_properties_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_range_del_test.cc fix deleterange with memtable prefix bloom 2017-08-29 23:02:34 -07:00
db_sst_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_statistics_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_table_properties_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_tailing_iter_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_test2.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_test_util.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_test_util.h Change RocksDB License 2017-07-26 11:31:01 -07:00
db_test.cc Fix false removal of tombstone issue in FIFO and kCompactionStyleNone 2017-08-15 14:12:19 -07:00
db_universal_compaction_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_wal_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
db_write_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
dbformat_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
dbformat.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
dbformat.h Change RocksDB License 2017-07-26 11:31:01 -07:00
deletefile_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
event_helpers.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
event_helpers.h Change RocksDB License 2017-07-26 11:31:01 -07:00
experimental.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
external_sst_file_basic_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
external_sst_file_ingestion_job.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
external_sst_file_ingestion_job.h Change RocksDB License 2017-07-26 11:31:01 -07:00
external_sst_file_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
fault_injection_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
file_indexer_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
file_indexer.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
file_indexer.h Change RocksDB License 2017-07-26 11:31:01 -07:00
filename_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
flush_job_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
flush_job.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
flush_job.h Change RocksDB License 2017-07-26 11:31:01 -07:00
flush_scheduler.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
flush_scheduler.h Change RocksDB License 2017-07-26 11:31:01 -07:00
forward_iterator_bench.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
forward_iterator.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
forward_iterator.h Change RocksDB License 2017-07-26 11:31:01 -07:00
internal_stats.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
internal_stats.h Change RocksDB License 2017-07-26 11:31:01 -07:00
job_context.h Change RocksDB License 2017-07-26 11:31:01 -07:00
listener_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
log_format.h Change RocksDB License 2017-07-26 11:31:01 -07:00
log_reader.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
log_reader.h Change RocksDB License 2017-07-26 11:31:01 -07:00
log_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
log_writer.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
log_writer.h Change RocksDB License 2017-07-26 11:31:01 -07:00
malloc_stats.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
malloc_stats.h Change RocksDB License 2017-07-26 11:31:01 -07:00
managed_iterator.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
managed_iterator.h Change RocksDB License 2017-07-26 11:31:01 -07:00
manual_compaction_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
memtable_list_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
memtable_list.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
memtable_list.h Change RocksDB License 2017-07-26 11:31:01 -07:00
memtable.cc fix deleterange with memtable prefix bloom 2017-08-29 23:02:34 -07:00
memtable.h Change RocksDB License 2017-07-26 11:31:01 -07:00
merge_context.h Change RocksDB License 2017-07-26 11:31:01 -07:00
merge_helper_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
merge_helper.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
merge_helper.h Change RocksDB License 2017-07-26 11:31:01 -07:00
merge_operator.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
merge_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
options_file_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
perf_context_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
pinned_iterators_manager.h Change RocksDB License 2017-07-26 11:31:01 -07:00
plain_table_db_test.cc Remove some left-over BSD headers 2017-07-26 11:31:42 -07:00
prefix_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
range_del_aggregator_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
range_del_aggregator.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
range_del_aggregator.h Change RocksDB License 2017-07-26 11:31:01 -07:00
repair_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
repair.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
snapshot_impl.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
snapshot_impl.h Change RocksDB License 2017-07-26 11:31:01 -07:00
table_cache.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
table_cache.h Change RocksDB License 2017-07-26 11:31:01 -07:00
table_properties_collector_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
table_properties_collector.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
table_properties_collector.h Change RocksDB License 2017-07-26 11:31:01 -07:00
transaction_log_impl.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
transaction_log_impl.h Change RocksDB License 2017-07-26 11:31:01 -07:00
version_builder_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
version_builder.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
version_builder.h Change RocksDB License 2017-07-26 11:31:01 -07:00
version_edit_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
version_edit.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
version_edit.h Change RocksDB License 2017-07-26 11:31:01 -07:00
version_set_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
version_set.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
version_set.h Change RocksDB License 2017-07-26 11:31:01 -07:00
wal_manager_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
wal_manager.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
wal_manager.h Change RocksDB License 2017-07-26 11:31:01 -07:00
write_batch_base.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
write_batch_internal.h Change RocksDB License 2017-07-26 11:31:01 -07:00
write_batch_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
write_batch.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
write_callback_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
write_callback.h Change RocksDB License 2017-07-26 11:31:01 -07:00
write_controller_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
write_controller.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
write_controller.h Change RocksDB License 2017-07-26 11:31:01 -07:00
write_thread.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
write_thread.h Change RocksDB License 2017-07-26 11:31:01 -07:00