rocksdb/table
sdong 66b5613d0c row_cache to share entry for recent snapshots (#5600)
Summary:
Right now, users cannot take advantage of row cache, unless no snapshot is used, or Get() is repeated for the same snapshots. This limits the usage of row cache.
This change eliminate this restriction in some cases. If the snapshot used is newer than the largest sequence number in the file, and write callback function is not registered, the same row cache key is used as no snapshot is given. We still need the callback function restriction for now because the callback function may filter out different keys for different snapshots even if the snapshots are new.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5600

Test Plan: Add a unit test.

Differential Revision: D16386616

fbshipit-source-id: 6b7d214bd215d191b03ccf55926ad4b703ec2e53
2019-07-22 18:56:19 -07:00
..
adaptive Organizing rocksdb/table directory by format 2019-05-30 14:51:11 -07:00
block_based Block access tracing: Trace referenced key for Get on non-data blocks. (#5548) 2019-07-17 13:05:58 -07:00
cuckoo Add more callers for table reader. (#5454) 2019-06-20 14:31:48 -07:00
plain Add more callers for table reader. (#5454) 2019-06-20 14:31:48 -07:00
block_fetcher.cc Add an option to put first key of each sst block in the index (#5289) 2019-06-24 20:54:04 -07:00
block_fetcher.h Combine the read-ahead logic for user reads and compaction reads (#5431) 2019-06-19 14:10:46 -07:00
bloom_block.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
bloom_block.h Disallow customized hash function in DynamicBloom (#4915) 2019-01-24 10:34:30 -08:00
cleanable_test.cc Move test related files under util/ to test_util/ (#5377) 2019-05-30 11:25:51 -07:00
format.cc Add an option to put first key of each sst block in the index (#5289) 2019-06-24 20:54:04 -07:00
format.h MultiGet parallel IO (#5464) 2019-06-30 20:56:04 -07:00
full_filter_bits_builder.h Skip duplicate bloom keys when whole_key and prefix are mixed 2018-04-24 10:58:16 -07:00
get_context.cc Block cache tracing: Associate a unique id with Get and MultiGet (#5514) 2019-07-03 19:35:41 -07:00
get_context.h row_cache to share entry for recent snapshots (#5600) 2019-07-22 18:56:19 -07:00
internal_iterator.h Reduce iterator key comparison for upper/lower bound check (2nd attempt) (#5468) 2019-07-02 11:48:46 -07:00
iter_heap.h Make InternalKeyComparator final and directly use it in merging iterator 2017-09-11 12:04:21 -07:00
iterator_wrapper.h Reduce iterator key comparison for upper/lower bound check (2nd attempt) (#5468) 2019-07-02 11:48:46 -07:00
iterator.cc Add an option to put first key of each sst block in the index (#5289) 2019-06-24 20:54:04 -07:00
merger_test.cc Move test related files under util/ to test_util/ (#5377) 2019-05-30 11:25:51 -07:00
merging_iterator.cc Reduce iterator key comparison for upper/lower bound check (2nd attempt) (#5468) 2019-07-02 11:48:46 -07:00
merging_iterator.h Index value delta encoding (#3983) 2018-08-09 16:58:40 -07:00
meta_blocks.cc Add an option to put first key of each sst block in the index (#5289) 2019-06-24 20:54:04 -07:00
meta_blocks.h Make the 'block read count' performance counters consistent (#5484) 2019-06-18 19:03:24 -07:00
mock_table.cc Add more callers for table reader. (#5454) 2019-06-20 14:31:48 -07:00
mock_table.h Add more callers for table reader. (#5454) 2019-06-20 14:31:48 -07:00
multiget_context.h multiget: fix memory issues due to vector auto resizing (#5279) 2019-05-03 15:58:43 -07:00
persistent_cache_helper.cc Organizing rocksdb/table directory by format 2019-05-30 14:51:11 -07:00
persistent_cache_helper.h Change RocksDB License 2017-07-15 16:11:23 -07:00
persistent_cache_options.h Change RocksDB License 2017-07-15 16:11:23 -07:00
scoped_arena_iterator.h Change RocksDB License 2017-07-15 16:11:23 -07:00
sst_file_reader_test.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
sst_file_reader.cc Add more callers for table reader. (#5454) 2019-06-20 14:31:48 -07:00
sst_file_writer_collectors.h Fix SstFileReader not able to open ingested file (#5097) 2019-03-26 10:25:18 -07:00
sst_file_writer.cc Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
table_builder.h Integrate block cache tracer into db_impl (#5433) 2019-06-13 15:43:10 -07:00
table_properties_internal.h Index value delta encoding (#3983) 2018-08-09 16:58:40 -07:00
table_properties.cc Organizing rocksdb/table directory by format 2019-05-30 14:51:11 -07:00
table_reader_bench.cc Add more callers for table reader. (#5454) 2019-06-20 14:31:48 -07:00
table_reader_caller.h Add more callers for table reader. (#5454) 2019-06-20 14:31:48 -07:00
table_reader.h Move the filter readers out of the block cache (#5504) 2019-07-16 13:14:58 -07:00
table_test.cc Block access tracing: Trace referenced key for Get on non-data blocks. (#5548) 2019-07-17 13:05:58 -07:00
two_level_iterator.cc Add an option to put first key of each sst block in the index (#5289) 2019-06-24 20:54:04 -07:00
two_level_iterator.h Add an option to put first key of each sst block in the index (#5289) 2019-06-24 20:54:04 -07:00