rocksdb/utilities/transactions
Maysam Yabandeh 17731a43a6 WritePrepared Txn: Optimize for recoverable state
Summary:
GetCommitTimeWriteBatch is currently used to store some state as part of commit in 2PC. In MyRocks it is specifically used to store some data that would be needed only during recovery. So it is not need to be stored in memtable right after each commit.
This patch enables an optimization to write the GetCommitTimeWriteBatch only to the WAL. The batch will be written to memtable during recovery when the WAL is replayed. To cover the case when WAL is deleted after memtable flush, the batch is also buffered and written to memtable right before each memtable flush.
Closes https://github.com/facebook/rocksdb/pull/3071

Differential Revision: D6148023

Pulled By: maysamyabandeh

fbshipit-source-id: 2d09bae5565abe2017c0327421010d5c0d55eaa7
2017-11-01 17:26:46 -07:00
..
optimistic_transaction_db_impl.cc Refactor PessimisticTransaction 2017-08-07 16:12:29 -07:00
optimistic_transaction_db_impl.h Change RocksDB License 2017-07-15 16:11:23 -07:00
optimistic_transaction_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
optimistic_transaction.cc Update WritePrepared with the pseudo code 2017-08-16 16:57:47 -07:00
optimistic_transaction.h Update WritePrepared with the pseudo code 2017-08-16 16:57:47 -07:00
pessimistic_transaction_db.cc Enable two write queues for transactions 2017-10-23 14:27:04 -07:00
pessimistic_transaction_db.h WritePrepared Txn: Optimize for recoverable state 2017-11-01 17:26:46 -07:00
pessimistic_transaction.cc WritePrepared Txn: Optimize for recoverable state 2017-11-01 17:26:46 -07:00
pessimistic_transaction.h WritePrepared Txn: Optimize for recoverable state 2017-11-01 17:26:46 -07:00
snapshot_checker.cc WritePrepared Txn: Disable GC during recovery 2017-10-18 09:11:50 -07:00
transaction_base.cc WritePrepared Txn: end-to-end tests 2017-10-06 14:26:45 -07:00
transaction_base.h WritePrepared Txn: Optimize for recoverable state 2017-11-01 17:26:46 -07:00
transaction_db_mutex_impl.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
transaction_db_mutex_impl.h Change RocksDB License 2017-07-15 16:11:23 -07:00
transaction_lock_mgr.cc Added mechanism to track deadlock chain 2017-08-17 18:56:21 -07:00
transaction_lock_mgr.h Added mechanism to track deadlock chain 2017-08-17 18:56:21 -07:00
transaction_test.cc WritePrepared Txn: Optimize for recoverable state 2017-11-01 17:26:46 -07:00
transaction_test.h Enable two write queues for transactions 2017-10-23 14:27:04 -07:00
transaction_util.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
transaction_util.h Change RocksDB License 2017-07-15 16:11:23 -07:00
write_prepared_transaction_test.cc Fix build on OpenBSD 2017-10-24 13:27:38 -07:00
write_prepared_txn.cc WritePrepared Txn: Optimize for recoverable state 2017-11-01 17:26:46 -07:00
write_prepared_txn.h Enable two write queues for transactions 2017-10-23 14:27:04 -07:00