rocksdb/utilities/transactions
agiardullo ec704aafdc Support marking snapshots for write-conflict checking
Summary:
D50475 enables using SST files for transaction write-conflict checking.  In order for this to work, we need to make sure not to compact out SingleDeletes when there is an earlier transaction snapshot(D50295).  If there is a long-held snapshot, this could reduce the benefit of the SingleDelete optimization.

This diff allows Transactions to mark snapshots as being used for write-conflict checking.  Then, during compaction, we will be able to optimize SingleDeletes better in the future.

This diff adds a flag to SnapshotImpl which is used by Transactions.  This diff also passes the earliest write-conflict snapshot's sequence number to CompactionIterator.  This diff does not actually change Compaction (after this diff is pushed, D50295 will be able to use this information).

Test Plan: no behavior change, ran existing tests

Reviewers: rven, kradhakrishnan, yhchiang, IslamAbdelRahman, sdong

Reviewed By: sdong

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D51183
2015-12-07 19:40:51 -08:00
..
optimistic_transaction_db_impl.cc Pessimistic Transactions 2015-08-11 17:52:23 -07:00
optimistic_transaction_db_impl.h Pessimistic Transactions 2015-08-11 17:52:23 -07:00
optimistic_transaction_impl.cc Deferred snapshot creation in transactions 2015-10-09 15:46:16 -07:00
optimistic_transaction_impl.h Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00
optimistic_transaction_test.cc Transaction stats 2015-09-09 13:35:53 -07:00
transaction_base.cc Support marking snapshots for write-conflict checking 2015-12-07 19:40:51 -08:00
transaction_base.h Added callback notification when a snapshot is created 2015-12-04 10:20:36 -08:00
transaction_db_impl.cc added public api to schedule flush/compaction, code to prevent race with db::open 2015-12-03 22:59:44 -08:00
transaction_db_impl.h Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00
transaction_db_mutex_impl.cc TransactionDB Custom Locking API 2015-09-08 17:03:57 -07:00
transaction_db_mutex_impl.h TransactionDB Custom Locking API 2015-09-08 17:03:57 -07:00
transaction_impl.cc Deferred snapshot creation in transactions 2015-10-09 15:46:16 -07:00
transaction_impl.h Deferred snapshot creation in transactions 2015-10-09 15:46:16 -07:00
transaction_lock_mgr.cc TransactionDB Custom Locking API 2015-09-08 17:03:57 -07:00
transaction_lock_mgr.h TransactionDB Custom Locking API 2015-09-08 17:03:57 -07:00
transaction_test.cc Added callback notification when a snapshot is created 2015-12-04 10:20:36 -08:00
transaction_util.cc Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00
transaction_util.h Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00