rocksdb/utilities
agiardullo 03b08ba9a9 Return MergeInProgress when fetching from transactions or WBWI with overwrite_key
Summary:
WriteBatchWithIndex::GetFromBatchAndDB only works correctly for overwrite_key=false.  Transactions use overwrite_key=true (since WriteBatchWithIndex::GetIteratorWithBase only works when overwrite_key=true).  So currently, Transactions could return incorrectly merged results when calling Get/GetForUpdate().

Until a permanent fix can be put in place, Transaction::Get[ForUpdate] and WriteBatchWithIndex::GetFromBatch[AndDB] will now return MergeInProgress if the most recent write to a key in the batch is a Merge.

Test Plan: more tests

Reviewers: sdong, yhchiang, rven, igor

Reviewed By: igor

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D47817
2015-09-30 11:14:42 -07:00
..
backupable Fix non-deterministic failure in backupable_db_test 2015-09-17 20:14:51 -07:00
checkpoint Fix printf format for size_t 2015-09-15 15:04:56 +03:00
compaction_filters
convenience
document
flashcache
geodb
leveldb_options
merge_operators
redis
spatialdb
table_properties_collectors
transactions Return MergeInProgress when fetching from transactions or WBWI with overwrite_key 2015-09-30 11:14:42 -07:00
ttl
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