rocksdb/utilities/transactions
Maysam Yabandeh fbfa3e7a43 WriteAtPrepare: Efficient read from snapshot list
Summary:
Divide the old snapshots to two lists: a few that fit into a cached array and the rest in a vector, which is expected to be empty in normal cases. The former is to optimize concurrent reads from snapshots without requiring locks. It is done by an array of std::atomic, from which std::memory_order_acquire reads are compiled to simple read instructions in most of the x86_64 architectures.
Closes https://github.com/facebook/rocksdb/pull/2758

Differential Revision: D5660504

Pulled By: maysamyabandeh

fbshipit-source-id: 524fcf9a8e7f90a92324536456912a99aaa6740c
2017-08-26 01:00:38 -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 WriteAtPrepare: Efficient read from snapshot list 2017-08-26 01:00:38 -07:00
pessimistic_transaction_db.h WriteAtPrepare: Efficient read from snapshot list 2017-08-26 01:00:38 -07:00
pessimistic_transaction.cc Update WritePrepared with the pseudo code 2017-08-16 16:57:47 -07:00
pessimistic_transaction.h Update WritePrepared with the pseudo code 2017-08-16 16:57:47 -07:00
transaction_base.cc Use PinnableSlice in Transactions 2017-08-23 10:11:45 -07:00
transaction_base.h Use PinnableSlice in Transactions 2017-08-23 10:11:45 -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 WriteAtPrepare: Efficient read from snapshot list 2017-08-26 01:00:38 -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_txn.cc Update WritePrepared with the pseudo code 2017-08-16 16:57:47 -07:00
write_prepared_txn.h Update WritePrepared with the pseudo code 2017-08-16 16:57:47 -07:00