rocksdb/utilities
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
..
backupable Fix ms version Appveyor build error 2015-11-30 11:07:47 -08:00
checkpoint No need to #ifdef test only code on windows 2015-10-22 15:15:37 -07:00
compaction_filters RemoveEmptyValueCompactionFilter - A compaction filter which removes entries which have an empty value 2015-07-16 11:50:10 +01:00
convenience Add function 'GetInfoLogList()' 2015-08-05 16:16:46 -07:00
document Fix build error using Visual Studio 12 2015-10-14 16:05:55 -07:00
flashcache Fix the compilation error in flashcache.cc on Mac 2015-04-07 15:27:23 -07:00
geodb Delete test iterators 2015-11-05 13:30:51 -08:00
leveldb_options Added CompatibleOptions for compatibility with LevelDB Options 2014-11-20 19:24:39 -08:00
memory Fix build broken by previous commit of "option helper refactor" 2015-11-17 16:52:54 -08:00
merge_operators Lint everything 2015-11-16 12:56:21 -08:00
options Add CheckOptionsCompatibility() API to options_util 2015-11-12 16:52:51 -08:00
redis Lint everything 2015-11-16 12:56:21 -08:00
spatialdb Block spatial_db_test in ROCKSDB_LITE 2015-07-13 18:35:03 -07:00
table_properties_collectors Pass column family ID to table property collector 2015-10-09 14:36:51 -07:00
transactions Support marking snapshots for write-conflict checking 2015-12-07 19:40:51 -08:00
ttl Skip unsupported tests in ROCKSDB_LITE 2015-07-20 11:24:54 -07:00
write_batch_with_index Return MergeInProgress when fetching from transactions or WBWI with overwrite_key 2015-09-30 11:14:42 -07:00
merge_operators.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00