rocksdb/db
Maysam Yabandeh 18dcf7f98d WritePrepared Txn: PreReleaseCallback
Summary:
Add PreReleaseCallback to be called at the end of WriteImpl but before publishing the sequence number. The callback is used in WritePrepareTxn to i) update the commit map, ii) update the last published sequence number in the 2nd write queue. It also ensures that all the commits will go to the 2nd queue.
These changes will ensure that the commit map is updated before the sequence number is published and used by reading snapshots. If we use two write queues, the snapshots will use the seq number published by the 2nd queue. If we use one write queue (the default, the snapshots will use the last seq number in the memtable, which also indicates the last published seq number.
Closes https://github.com/facebook/rocksdb/pull/3205

Differential Revision: D6438959

Pulled By: maysamyabandeh

fbshipit-source-id: f8b6c434e94bc5f5ab9cb696879d4c23e2577ab9
2017-11-30 23:50:45 -08:00
..
builder.cc Stream 2017-11-10 09:26:24 -08:00
builder.h Stream 2017-11-10 09:26:24 -08:00
c.cc C API: Add some block based table options 2017-11-28 14:12:44 -08:00
c_test.c Added save points for transactions C API 2017-09-14 14:18:59 -07:00
column_family.cc Stream 2017-11-10 09:26:24 -08:00
column_family.h Stream 2017-11-10 09:26:24 -08:00
column_family_test.cc arena: derive alignment unit from std::max_align_t 2017-10-17 11:13:19 -07:00
compact_files_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compacted_db_impl.cc Fix coverity issues column_family, compaction_db/iterator 2017-10-27 11:26:42 -07:00
compacted_db_impl.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compaction.cc always drop tombstones compacted to bottommost level 2017-10-27 15:56:35 -07:00
compaction.h Change RocksDB License 2017-07-15 16:11:23 -07:00
compaction_iteration_stats.h add counter for deletion dropping optimization 2017-08-19 14:10:08 -07:00
compaction_iterator.cc Blob DB: Add compaction filter to remove expired blob index entries 2017-11-02 17:27:38 -07:00
compaction_iterator.h Added support for differential snapshots 2017-11-01 18:56:43 -07:00
compaction_iterator_test.cc Added support for differential snapshots 2017-11-01 18:56:43 -07:00
compaction_job.cc Make DBOption compaction_readahead_size dynamic 2017-11-16 17:57:25 -08:00
compaction_job.h Make DBOption compaction_readahead_size dynamic 2017-11-16 17:57:25 -08:00
compaction_job_stats_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compaction_job_test.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
compaction_picker.cc use bottommost compression when base level is bottommost 2017-11-09 17:42:00 -08:00
compaction_picker.h fix hanging after CompactFiles with L0 overlap 2017-09-13 15:41:38 -07:00
compaction_picker_test.cc Make FIFO compaction options dynamically configurable 2017-10-19 15:26:36 -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
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 Enable MSVC W4 with a few exceptions. Fix warnings and bugs 2017-10-19 10:57:12 -07:00
db_basic_test.cc Enable MSVC W4 with a few exceptions. Fix warnings and bugs 2017-10-19 10:57:12 -07:00
db_blob_index_test.cc fix lite build 2017-10-17 08:57:09 -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 Split CompactionFilterWithValueChange 2017-10-20 15:42:07 -07:00
db_compaction_test.cc Added support for differential snapshots 2017-11-01 18:56:43 -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.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
db_impl.h WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
db_impl_compaction_flush.cc Make DBOption compaction_readahead_size dynamic 2017-11-16 17:57:25 -08:00
db_impl_debug.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
db_impl_experimental.cc Inform caller when rocksdb is stalling writes 2017-10-05 18:11:43 -07:00
db_impl_files.cc WritePrepared Txn: Refactor conf params 2017-11-10 17:28:12 -08:00
db_impl_open.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
db_impl_readonly.cc WritePrepared Txn: Iterator 2017-10-09 17:15:28 -07:00
db_impl_readonly.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_impl_write.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08: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.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
db_iter.h WritePrepared Txn: Iterator 2017-10-09 17:15:28 -07:00
db_iter_test.cc fix Seek with lower_bound 2017-11-29 22:56:29 -08:00
db_iterator_test.cc fix Seek with lower_bound 2017-11-29 22:56:29 -08: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 Introduce conditional merge-operator invocation in point lookups 2017-09-28 15:58:49 -07:00
db_options_test.cc Make DBOption compaction_readahead_size dynamic 2017-11-16 17:57:25 -08:00
db_properties_test.cc Add DB::Properties::kEstimateOldestKeyTime 2017-10-23 15:27:27 -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 Make trash-to-DB size ratio limit configurable 2017-11-17 11:58:17 -08:00
db_statistics_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_table_properties_test.cc fix deletion-triggered compaction in table builder 2017-09-28 18:17:30 -07:00
db_tailing_iter_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
db_test.cc dynamically change current memtable size 2017-11-02 22:28:10 -07:00
db_test2.cc use bottommost compression when base level is bottommost 2017-11-09 17:42:00 -08:00
db_test_util.cc WritePrepared Txn: Refactor conf params 2017-11-10 17:28:12 -08:00
db_test_util.h make compaction_readahead_size_ thread safe 2017-11-21 20:11:38 -08:00
db_universal_compaction_test.cc update scores after picking universal compaction 2017-08-16 18:42:33 -07:00
db_wal_test.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
db_write_test.cc Fix IOError on WAL write doesn't propagate to write group follower 2017-11-28 11:42:48 -08:00
dbformat.cc Added support for differential snapshots 2017-11-01 18:56:43 -07:00
dbformat.h WritePrepared Txn: cross-compatibility test 2017-11-11 11:28:37 -08:00
dbformat_test.cc Change RocksDB License 2017-07-15 16:11:23 -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 optimize file ingestion checks for range deletion overlap 2017-11-28 11:27:02 -08:00
external_sst_file_ingestion_job.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
external_sst_file_ingestion_job.h optimize file ingestion checks for range deletion overlap 2017-11-28 11:27:02 -08: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.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
file_indexer_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
filename_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
flush_job.cc Stream 2017-11-10 09:26:24 -08:00
flush_job.h WritePrepared Txn: Compaction/Flush 2017-10-06 10:41:53 -07:00
flush_job_test.cc WritePrepared Txn: Compaction/Flush 2017-10-06 10:41:53 -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.cc fix populating range deletions in forward iterator 2017-09-21 17:56:38 -07:00
forward_iterator.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
forward_iterator_bench.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
internal_stats.cc TableProperty::oldest_key_time defaults to 0 2017-10-27 15:00:05 -07:00
internal_stats.h Add DB::Properties::kEstimateOldestKeyTime 2017-10-23 15:27:27 -07:00
job_context.h Inform caller when rocksdb is stalling writes 2017-10-05 18:11:43 -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 Enable MSVC W4 with a few exceptions. Fix warnings and bugs 2017-10-19 10:57:12 -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.cc dynamically change current memtable size 2017-11-02 22:28:10 -07:00
memtable.h dynamically change current memtable size 2017-11-02 22:28:10 -07:00
memtable_list.cc Add DB::Properties::kEstimateOldestKeyTime 2017-10-23 15:27:27 -07:00
memtable_list.h Add DB::Properties::kEstimateOldestKeyTime 2017-10-23 15:27:27 -07:00
memtable_list_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_context.h 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_helper_test.cc Change RocksDB License 2017-07-15 16:11:23 -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
pre_release_callback.h WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
prefix_test.cc Fix crashes, address test issues and adjust windows test script 2017-11-10 10:41:57 -08:00
range_del_aggregator.cc optimize file ingestion checks for range deletion overlap 2017-11-28 11:27:02 -08:00
range_del_aggregator.h optimize file ingestion checks for range deletion overlap 2017-11-28 11:27:02 -08:00
range_del_aggregator_test.cc optimize file ingestion checks for range deletion overlap 2017-11-28 11:27:02 -08:00
read_callback.h write-prepared txn: call IsInSnapshot 2017-09-11 09:14:48 -07:00
repair.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
repair_test.cc fix file numbers after repair 2017-10-10 13:12:37 -07:00
snapshot_checker.h WritePrepared Txn: Disable GC during recovery 2017-10-18 09:11:50 -07:00
snapshot_impl.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
snapshot_impl.h Blob DB: fix snapshot handling 2017-11-02 15:58:27 -07:00
table_cache.cc Make DBOption compaction_readahead_size dynamic 2017-11-16 17:57:25 -08:00
table_cache.h Change RocksDB License 2017-07-15 16:11:23 -07:00
table_properties_collector.cc fix duplicate definition of GetEntryType() 2017-11-01 22:56:17 -07:00
table_properties_collector.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
table_properties_collector_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
transaction_log_impl.cc WritePrepared Txn: Refactor conf params 2017-11-10 17:28:12 -08:00
transaction_log_impl.h WritePrepared Txn: Refactor conf params 2017-11-10 17:28:12 -08:00
version_builder.cc VersionBuilder: Erase with iterators for better performance 2017-10-17 10:12:37 -07:00
version_builder.h Allow DB reopen with reduced options.num_levels 2017-08-24 16:10:54 -07:00
version_builder_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_edit_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
version_set.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
version_set.h WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
version_set_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
wal_manager.cc WritePrepared Txn: Refactor conf params 2017-11-10 17:28:12 -08:00
wal_manager.h WritePrepared Txn: Refactor conf params 2017-11-10 17:28:12 -08:00
wal_manager_test.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
write_batch.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00
write_batch_base.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
write_batch_internal.h WritePrepared Txn: cross-compatibility test 2017-11-11 11:28:37 -08:00
write_batch_test.cc Enable MSVC W4 with a few exceptions. Fix warnings and bugs 2017-10-19 10:57:12 -07:00
write_callback.h Change RocksDB License 2017-07-15 16:11:23 -07:00
write_callback_test.cc WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08: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_controller_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
write_thread.cc Fix IOError on WAL write doesn't propagate to write group follower 2017-11-28 11:42:48 -08:00
write_thread.h WritePrepared Txn: PreReleaseCallback 2017-11-30 23:50:45 -08:00