rocksdb/include/rocksdb
agiardullo c2f2cb0214 Pessimistic Transactions
Summary:
Initial implementation of Pessimistic Transactions.  This diff contains the api changes discussed in D38913.  This diff is pretty large, so let me know if people would prefer to meet up to discuss it.

MyRocks folks:  please take a look at the API in include/rocksdb/utilities/transaction[_db].h and let me know if you have any issues.

Also, you'll notice a couple of TODOs in the implementation of RollbackToSavePoint().  After chatting with Siying, I'm going to send out a separate diff for an alternate implementation of this feature that implements the rollback inside of WriteBatch/WriteBatchWithIndex.  We can then decide which route is preferable.

Next, I'm planning on doing some perf testing and then integrating this diff into MongoRocks for further testing.

Test Plan: Unit tests, db_bench parallel testing.

Reviewers: igor, rven, sdong, yhchiang, yoshinorim

Reviewed By: sdong

Subscribers: hermanlee4, maykov, spetrunia, leveldb, dhruba

Differential Revision: https://reviews.facebook.net/D40869
2015-08-11 17:52:23 -07:00
..
utilities Pessimistic Transactions 2015-08-11 17:52:23 -07:00
c.h Deprecate CompactionFilterV2 2015-07-17 18:59:11 +02:00
cache.h Add Cache.GetPinnedUsageUsage() 2015-06-18 13:56:31 -07:00
compaction_filter.h Add missing include to use std::unique_ptr 2014-08-23 13:02:21 -04:00
compaction_job_stats.h Count number of corrupt keys during compaction 2015-07-28 16:41:40 -07:00
comparator.h CompactFiles, EventListener and GetDatabaseMetaData 2014-11-07 14:45:18 -08:00
convenience.h move convenience.h out of utilities 2015-07-15 14:51:51 -07:00
db.h simple ManagedSnapshot wrapper 2015-08-06 17:59:05 -07:00
delete_scheduler.h Support delete rate limiting 2015-08-04 20:45:27 -07:00
env.h [wal changes 3/3] method in DB to sync WAL without blocking writers 2015-08-05 06:06:39 -07:00
experimental.h Implement DB::PromoteL0 method 2015-04-23 12:10:36 -07:00
filter_policy.h Implement full filter for block based table. 2014-09-08 10:37:05 -07:00
flush_block_policy.h move block based table related options BlockBasedTableOptions 2014-08-25 14:22:05 -07:00
immutable_options.h Deprecate CompactionFilterV2 2015-07-17 18:59:11 +02:00
iostats_context.h Ensure Windows build w/o port/port.h in public headers 2015-07-16 12:10:16 -07:00
iterator.h Add License message to public header files. 2013-11-18 10:21:35 -08:00
ldb_tool.h [RocksDB] allow LDB tool to have customized key formatter 2014-06-23 15:35:40 -07:00
listener.h Add largest sequence to FlushJobInfo 2015-06-11 15:22:22 -07:00
memtablerep.h Allow GetApproximateSize() to include mem table size if it is skip list memtable 2015-06-16 18:13:23 -07:00
merge_operator.h Better CompactionJob testing 2015-08-07 21:59:51 -07:00
metadata.h Windows Port from Microsoft 2015-07-01 16:13:56 -07:00
options.h Parallelize LoadTableHandlers 2015-08-11 12:19:56 -07:00
perf_context.h Ensure Windows build w/o port/port.h in public headers 2015-07-16 12:10:16 -07:00
perf_level.h more times in perf_context and iostats_context 2015-06-02 02:07:58 -07:00
rate_limiter.h Enable dynamic changing of rate limiter's bytes_per_second 2015-03-18 15:35:55 -07:00
slice.h Commit both PR and internal code review changes 2015-07-07 16:58:20 -07:00
slice_transform.h Unaddressed comment in previous diff. Change only in code comments. 2015-01-30 16:07:35 -08:00
snapshot.h simple ManagedSnapshot wrapper 2015-08-06 17:59:05 -07:00
sst_dump_tool.h Dump routine to BlockBasedTableReader 2014-12-23 13:24:07 -08:00
statistics.h Add Statistics.getHistogramString() to print more detailed outputs of a histogram 2015-08-05 20:05:56 -07:00
status.h Pessimistic Transactions 2015-08-11 17:52:23 -07:00
table.h Move rate_limiter, write buffering, most perf context instrumentation and most random kill out of Env 2015-07-17 16:58:18 -07:00
table_properties.h Removing duplicate code 2015-08-05 07:33:27 -07:00
thread_status.h Deprecate CompactionFilterV2 2015-07-17 18:59:11 +02:00
transaction_log.h "make format" against last 10 commits 2015-07-13 13:50:18 -07:00
types.h Add License message to public header files. 2013-11-18 10:21:35 -08:00
universal_compaction.h Enabling trivial move in universal compaction 2015-07-07 14:18:55 -07:00
version.h Bump to RocksDB 3.13 2015-07-15 16:03:20 -07:00
write_batch.h WriteBatch Save Points 2015-07-29 16:54:23 -07:00
write_batch_base.h WriteBatch Save Points 2015-07-29 16:54:23 -07:00