rocksdb/utilities
Maysam Yabandeh 8feee28020 Add skip_cc option to TransactionDB::Write
Summary:
Compared to DB::Write, TransactionDB::Write has the additional overhead of creating and initializing an internal transaction object, as well as the overhead of locking/unlocking the keys. This patch extends the TransactionDB::Write with an skip_cc option to allow the users to indicate that the write batch do not conflict with others and the concurrency control and its overhead can be skipped. TransactionDB::Write by default calls DB::Write when skip_cc is set, which works for WriteCommitted WritePolicy. Any other flavor of TransactionDB that is not compatible with this default behavior (such as WritePreparedTxnDB) can extend ::Write and implement their own approach for taking into account the skip_cc optimization.
Closes https://github.com/facebook/rocksdb/pull/3457

Differential Revision: D6877318

Pulled By: maysamyabandeh

fbshipit-source-id: 56f4e21db87ff71492db4e376fb7c2b03dfeab6b
2018-02-06 15:28:24 -08:00
..
backupable fix backup meta-file buffer overrun 2017-12-15 12:29:16 -08:00
blob_db Blob DB: miscellaneous changes 2018-01-31 18:13:23 -08:00
cassandra Fix the build with MSVC 2017 2017-12-14 12:02:22 -08:00
checkpoint fix for checkpoint directory with trailing slash(es) 2018-01-29 21:11:42 -08:00
compaction_filters Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
convenience Change RocksDB License 2017-07-15 16:11:23 -07:00
date_tiered WritePrepared Txn: Iterator 2017-10-09 17:15:28 -07:00
document Suppress unused warnings 2018-02-02 12:27:07 -08:00
geodb Change RocksDB License 2017-07-15 16:11:23 -07:00
leveldb_options Change RocksDB License 2017-07-15 16:11:23 -07:00
lua Suppress unused warnings 2018-02-02 12:27:07 -08:00
memory Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_operators allow nullptr Slice only as sentinel 2017-08-23 10:56:06 -07:00
option_change_migration Change RocksDB License 2017-07-15 16:11:23 -07:00
options fix gflags namespace 2017-12-01 10:42:05 -08:00
persistent_cache Fix build for linux 2017-12-18 12:28:03 -08:00
redis Enable MSVC W4 with a few exceptions. Fix warnings and bugs 2017-10-19 10:57:12 -07:00
simulator_cache Suppress lint in old files 2018-01-29 12:56:42 -08:00
spatialdb Enable MSVC W4 with a few exceptions. Fix warnings and bugs 2017-10-19 10:57:12 -07:00
table_properties_collectors fix deletion-triggered compaction in table builder 2017-09-28 18:17:30 -07:00
transactions Add skip_cc option to TransactionDB::Write 2018-02-06 15:28:24 -08:00
ttl Suppress lint in old files 2018-01-29 12:56:42 -08:00
write_batch_with_index WritePrepared Txn: Duplicate Keys, Txn Part 2018-02-05 18:43:24 -08:00
col_buf_decoder.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
col_buf_decoder.h utilities: Fix coverity issues in blob_db and col_buf_decoder 2017-11-28 12:27:57 -08:00
col_buf_encoder.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
col_buf_encoder.h Change RocksDB License 2017-07-15 16:11:23 -07:00
column_aware_encoding_exp.cc fix gflags namespace 2017-12-01 10:42:05 -08:00
column_aware_encoding_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
column_aware_encoding_util.cc Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
column_aware_encoding_util.h Change RocksDB License 2017-07-15 16:11:23 -07:00
debug.cc Fix naming in InternalKey 2017-09-12 17:17:42 -07:00
env_librados_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_librados.cc Suppress lint in old files 2018-01-29 12:56:42 -08:00
env_librados.md Add EnvLibrados - RocksDB Env of RADOS (#1222) 2016-07-21 11:16:34 -07:00
env_mirror_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_mirror.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_timed_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_timed.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_operators.h garbage collect tombstones in merge operator 2017-08-31 10:11:54 -07:00
object_registry_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
util_merge_operators_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00