rocksdb/db
Maysam Yabandeh f46464d383 write-prepared txn: call IsInSnapshot
Summary:
This patch instruments the read path to verify each read value against an optional ReadCallback class. If the value is rejected, the reader moves on to the next value. The WritePreparedTxn makes use of this feature to skip sequence numbers that are not in the read snapshot.
Closes https://github.com/facebook/rocksdb/pull/2850

Differential Revision: D5787375

Pulled By: maysamyabandeh

fbshipit-source-id: 49d808b3062ab35e7ae98ad388f659757794184c
2017-09-11 09:14:48 -07:00
..
builder.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
builder.h Change RocksDB License 2017-07-15 16:11:23 -07:00
c_test.c Fix c_test ASAN failure 2017-08-11 13:00:15 -07:00
c.cc Improved transactions support in C API 2017-08-23 12:40:28 -07:00
column_family_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
column_family.cc rename stall-related internal stats 2017-09-07 18:26:18 -07:00
column_family.h Change RocksDB License 2017-07-15 16:11:23 -07:00
compact_files_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compacted_db_impl.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
compacted_db_impl.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compaction_iteration_stats.h add counter for deletion dropping optimization 2017-08-19 14:10:08 -07:00
compaction_iterator_test.cc Allow merge operator to be called even with a single operand 2017-08-16 23:42:00 -07:00
compaction_iterator.cc add counter for deletion dropping optimization 2017-08-19 14:10:08 -07:00
compaction_iterator.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compaction_job_stats_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compaction_job_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
compaction_job.cc Fix CLANG Analyze 2017-09-07 14:28:06 -07:00
compaction_job.h Change RocksDB License 2017-07-15 16:11:23 -07:00
compaction_picker_test.cc Fix FIFO compaction picker test 2017-07-26 12:12:26 -07:00
compaction_picker_universal.cc update scores after picking universal compaction 2017-08-16 18:42:33 -07:00
compaction_picker_universal.h Change RocksDB License 2017-07-15 16:11:23 -07:00
compaction_picker.cc fix CompactFiles inclusion of older L0 files 2017-09-06 11:42:25 -07:00
compaction_picker.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compaction.cc Fix false removal of tombstone issue in FIFO and kCompactionStyleNone 2017-08-15 13:02:19 -07:00
compaction.h Change RocksDB License 2017-07-15 16:11:23 -07:00
comparator_db_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
convenience.cc add VerifyChecksum() to db.h 2017-08-09 15:58:13 -07:00
corruption_test.cc fix corruption_test valgrind 2017-08-11 12:29:14 -07:00
cuckoo_table_db_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_basic_test.cc support disabling checksum in block-based table 2017-08-23 19:40:47 -07:00
db_block_cache_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_bloom_filter_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_compaction_filter_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_compaction_test.cc fix CompactFiles inclusion of older L0 files 2017-09-06 11:42:25 -07:00
db_dynamic_level_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_encryption_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_filesnapshot.cc Remove some left-over BSD headers 2017-07-18 11:56:57 -07:00
db_flush_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_impl_compaction_flush.cc Introduce bottom-pri thread pool for large universal compactions 2017-08-03 15:43:29 -07:00
db_impl_debug.cc Introduce bottom-pri thread pool for large universal compactions 2017-08-03 15:43:29 -07:00
db_impl_experimental.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_impl_files.cc Fix CLANG Analyze 2017-09-07 14:28:06 -07:00
db_impl_open.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_impl_readonly.cc Add Iterator::Refresh() 2017-07-24 10:54:37 -07:00
db_impl_readonly.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_impl_write.cc fix some misspellings 2017-08-16 21:57:20 -07:00
db_impl.cc write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
db_impl.h write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
db_info_dumper.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_info_dumper.h Change RocksDB License 2017-07-15 16:11:23 -07:00
db_inplace_update_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_io_failure_test.cc Fix LITE unit tests 2017-07-26 21:11:47 -07:00
db_iter_test.cc Add Iterator::Refresh() 2017-07-24 10:54:37 -07:00
db_iter.cc perf_context measure user bytes read 2017-08-18 11:43:33 -07:00
db_iter.h Add Iterator::Refresh() 2017-07-24 10:54:37 -07:00
db_iterator_test.cc perf_context measure user bytes read 2017-08-18 11:43:33 -07:00
db_log_iter_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_memtable_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_merge_operator_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_options_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_properties_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_range_del_test.cc Fix wrong smallest key of delete range tombstones 2017-08-29 18:41:35 -07:00
db_sst_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_statistics_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_table_properties_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_tailing_iter_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_test_util.cc Updated CRC32 Power Optimization Changes 2017-08-31 14:16:30 -07:00
db_test_util.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_test.cc Extend property map with compaction stats 2017-08-30 15:26:55 -07:00
db_test2.cc write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
db_universal_compaction_test.cc update scores after picking universal compaction 2017-08-16 18:42:33 -07:00
db_wal_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_write_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
dbformat_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
dbformat.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
dbformat.h Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
deletefile_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
event_helpers.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
event_helpers.h Change RocksDB License 2017-07-15 16:11:23 -07:00
experimental.cc Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
external_sst_file_basic_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
external_sst_file_ingestion_job.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
external_sst_file_ingestion_job.h Change RocksDB License 2017-07-15 16:11:23 -07:00
external_sst_file_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
fault_injection_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
file_indexer_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
file_indexer.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
file_indexer.h Change RocksDB License 2017-07-15 16:11:23 -07:00
filename_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
flush_job_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
flush_job.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
flush_job.h Change RocksDB License 2017-07-15 16:11:23 -07:00
flush_scheduler.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
flush_scheduler.h Change RocksDB License 2017-07-15 16:11:23 -07:00
forward_iterator_bench.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
forward_iterator.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
forward_iterator.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
internal_stats.cc rename stall-related internal stats 2017-09-07 18:26:18 -07:00
internal_stats.h rename stall-related internal stats 2017-09-07 18:26:18 -07:00
job_context.h Change RocksDB License 2017-07-15 16:11:23 -07:00
listener_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
log_format.h Change RocksDB License 2017-07-15 16:11:23 -07:00
log_reader.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
log_reader.h Change RocksDB License 2017-07-15 16:11:23 -07:00
log_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
log_writer.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
log_writer.h Change RocksDB License 2017-07-15 16:11:23 -07:00
malloc_stats.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
malloc_stats.h Change RocksDB License 2017-07-15 16:11:23 -07:00
managed_iterator.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
managed_iterator.h Change RocksDB License 2017-07-15 16:11:23 -07:00
manual_compaction_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
memtable_list_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
memtable_list.cc write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
memtable_list.h write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
memtable.cc write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
memtable.h write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
merge_context.h Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_helper_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_helper.cc Allow merge operator to be called even with a single operand 2017-08-16 23:42:00 -07:00
merge_helper.h Allow merge operator to be called even with a single operand 2017-08-16 23:42:00 -07:00
merge_operator.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
options_file_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
perf_context_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
pinned_iterators_manager.h Change RocksDB License 2017-07-15 16:11:23 -07:00
plain_table_db_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
prefix_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
range_del_aggregator_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
range_del_aggregator.cc Fix wrong smallest key of delete range tombstones 2017-08-29 18:41:35 -07:00
range_del_aggregator.h Change RocksDB License 2017-07-15 16:11:23 -07:00
read_callback.h write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
repair_test.cc Try to repair db with wal_dir option, avoid leak some WAL files 2017-08-08 10:47:57 -07:00
repair.cc Try to repair db with wal_dir option, avoid leak some WAL files 2017-08-08 10:47:57 -07:00
snapshot_impl.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
snapshot_impl.h WriteAtPrepare: Efficient read from snapshot list 2017-08-26 01:00:38 -07:00
table_cache.cc fix db get/write stats 2017-07-31 12:12:03 -07:00
table_cache.h Change RocksDB License 2017-07-15 16:11:23 -07:00
table_properties_collector_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
table_properties_collector.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
table_properties_collector.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
transaction_log_impl.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
transaction_log_impl.h Change RocksDB License 2017-07-15 16:11:23 -07:00
version_builder_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
version_builder.cc Allow DB reopen with reduced options.num_levels 2017-08-24 16:10:54 -07:00
version_builder.h Allow DB reopen with reduced options.num_levels 2017-08-24 16:10:54 -07:00
version_edit_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
version_edit.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
version_edit.h Change RocksDB License 2017-07-15 16:11:23 -07:00
version_set_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
version_set.cc write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
version_set.h write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
wal_manager_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
wal_manager.cc Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
wal_manager.h Change RocksDB License 2017-07-15 16:11:23 -07:00
write_batch_base.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
write_batch_internal.h Change RocksDB License 2017-07-15 16:11:23 -07:00
write_batch_test.cc Gcc 7 ParsedInternalKey replace memset with clear function. 2017-07-24 11:31:15 -07:00
write_batch.cc Update WritePrepared with the pseudo code 2017-08-16 16:57:47 -07:00
write_callback_test.cc Fix flaky write_callback_test 2017-07-25 16:42:11 -07:00
write_callback.h Change RocksDB License 2017-07-15 16:11:23 -07:00
write_controller_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
write_controller.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
write_controller.h Change RocksDB License 2017-07-15 16:11:23 -07:00
write_thread.cc Fix the overflow bug in AwaitState 2017-08-03 10:43:28 -07:00
write_thread.h fix comment 2017-08-09 22:57:01 -07:00