rocksdb/table/block_based
Peter Dillinger b27a1448b6 Fix false NotFound from batched MultiGet with kHashSearch (#6821)
Summary:
The error is assigning KeyContext::s to NotFound status in a
table reader for a "not found in this table" case, which skips searching
in later tables, like only a delete should. (The hash search index iterator
is the only one that can return status NotFound even if Valid() == false.)

This was detected by intermittent failure in
MultiThreadedDBTest.MultiThreaded/5, a kHashSearch configuration.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6821

Test Plan: modified existing unit test to reproduce problem

Reviewed By: anand1976

Differential Revision: D21450469

Pulled By: pdillinger

fbshipit-source-id: 7478003684d637dbd491cdac81468041a791be2c
2020-05-07 15:41:37 -07:00
..
binary_search_index_reader.cc
binary_search_index_reader.h
block.cc Fix some typos in code comments (#6733) 2020-04-23 12:28:49 -07:00
block.h
block_based_filter_block.cc Silence false alarms in db_stress fault injection (#6741) 2020-04-24 13:06:12 -07:00
block_based_filter_block.h
block_based_filter_block_test.cc
block_based_table_builder.cc Disallow BlockBasedTableBuilder to set status from non-OK (#6776) 2020-04-30 15:37:03 -07:00
block_based_table_builder.h Disallow BlockBasedTableBuilder to set status from non-OK (#6776) 2020-04-30 15:37:03 -07:00
block_based_table_factory.cc Add OptionTypeInfo::Enum and related methods (#6423) 2020-05-05 15:04:04 -07:00
block_based_table_factory.h Add a ConfigOptions for use in comparing objects and converting to/from strings (#6389) 2020-04-21 17:38:17 -07:00
block_based_table_iterator.cc Properly report IO errors when IndexType::kBinarySearchWithFirstKey is used (#6621) 2020-04-15 17:40:44 -07:00
block_based_table_iterator.h Properly report IO errors when IndexType::kBinarySearchWithFirstKey is used (#6621) 2020-04-15 17:40:44 -07:00
block_based_table_reader.cc Fix false NotFound from batched MultiGet with kHashSearch (#6821) 2020-05-07 15:41:37 -07:00
block_based_table_reader.h Stats for redundant insertions into block cache (#6681) 2020-04-27 13:20:27 -07:00
block_based_table_reader_impl.h
block_builder.cc
block_builder.h
block_prefetcher.cc
block_prefetcher.h
block_prefix_index.cc
block_prefix_index.h
block_test.cc
block_type.h
cachable_entry.h
data_block_footer.cc
data_block_footer.h
data_block_hash_index.cc
data_block_hash_index.h
data_block_hash_index_test.cc
filter_block.h
filter_block_reader_common.cc
filter_block_reader_common.h
filter_policy.cc Add Functions to OptionTypeInfo (#6422) 2020-04-28 18:04:26 -07:00
filter_policy_internal.h
flush_block_policy.cc
flush_block_policy.h
full_filter_block.cc Basic MultiGet support for partitioned filters (#6757) 2020-04-28 14:49:34 -07:00
full_filter_block.h
full_filter_block_test.cc
hash_index_reader.cc
hash_index_reader.h
index_builder.cc
index_builder.h
index_reader_common.cc
index_reader_common.h
mock_block_based_table.h
parsed_full_filter_block.cc
parsed_full_filter_block.h
partitioned_filter_block.cc Basic MultiGet support for partitioned filters (#6757) 2020-04-28 14:49:34 -07:00
partitioned_filter_block.h Basic MultiGet support for partitioned filters (#6757) 2020-04-28 14:49:34 -07:00
partitioned_filter_block_test.cc
partitioned_index_iterator.cc
partitioned_index_iterator.h
partitioned_index_reader.cc Silence false alarms in db_stress fault injection (#6741) 2020-04-24 13:06:12 -07:00
partitioned_index_reader.h
reader_common.cc
reader_common.h
uncompression_dict_reader.cc
uncompression_dict_reader.h