rocksdb/utilities/transactions
Andrew Kryczka 1c5f13f2a5 Fail early when merge_operator not configured (#7667)
Summary:
An application may accidentally write merge operands without properly configuring `merge_operator`. We should alert them as early as possible that there's an API misuse. Previously RocksDB only notified them when a query or background operation needed to merge but couldn't. With this PR, RocksDB notifies them of the problem before applying the merge operand to the memtable (although it may already be in WAL, which seems it'd cause a crash loop until they enable `merge_operator`).

Pull Request resolved: https://github.com/facebook/rocksdb/pull/7667

Reviewed By: riversand963

Differential Revision: D24933360

Pulled By: ajkr

fbshipit-source-id: 3a4a2ceb0b7aed184113dd03b8efd735a8332f7f
2020-11-16 20:39:01 -08:00
..
lock Fix unchecked statuses for transaction_test (#7572) 2020-10-21 14:03:59 -07:00
optimistic_transaction.cc Abstract out LockManager interface (#7532) 2020-10-19 10:14:42 -07:00
optimistic_transaction.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
optimistic_transaction_db_impl.cc Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
optimistic_transaction_db_impl.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
optimistic_transaction_test.cc Fail early when merge_operator not configured (#7667) 2020-11-16 20:39:01 -08:00
pessimistic_transaction.cc Fix unchecked statuses for transaction_test (#7572) 2020-10-21 14:03:59 -07:00
pessimistic_transaction.h Abstract out LockManager interface (#7532) 2020-10-19 10:14:42 -07:00
pessimistic_transaction_db.cc Abstract out LockManager interface (#7532) 2020-10-19 10:14:42 -07:00
pessimistic_transaction_db.h Abstract out LockManager interface (#7532) 2020-10-19 10:14:42 -07:00
snapshot_checker.cc Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
transaction_base.cc Fix unchecked statuses for transaction_test (#7572) 2020-10-21 14:03:59 -07:00
transaction_base.h Fix unchecked statuses for transaction_test (#7572) 2020-10-21 14:03:59 -07:00
transaction_db_mutex_impl.cc Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
transaction_db_mutex_impl.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
transaction_test.cc Fix unchecked statuses for transaction_test (#7572) 2020-10-21 14:03:59 -07:00
transaction_test.h Skip fsync in txn tests (#7641) 2020-11-06 14:25:14 -08:00
transaction_util.cc Replace tracked_keys with a new LockTracker interface in TransactionDB (#7013) 2020-08-06 12:38:00 -07:00
transaction_util.h Replace tracked_keys with a new LockTracker interface in TransactionDB (#7013) 2020-08-06 12:38:00 -07:00
write_prepared_transaction_test.cc Disable fsync in SeqAdvanceConcurrentTest (#7302) 2020-08-24 13:22:06 -07:00
write_prepared_txn.cc Fix unchecked statuses for transaction_test (#7572) 2020-10-21 14:03:59 -07:00
write_prepared_txn.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
write_prepared_txn_db.cc Fix unchecked statuses for transaction_test (#7572) 2020-10-21 14:03:59 -07:00
write_prepared_txn_db.h Abstract out LockManager interface (#7532) 2020-10-19 10:14:42 -07:00
write_unprepared_transaction_test.cc Revert "Update googletest from 1.8.1 to 1.10.0 (#6808)" (#6923) 2020-06-03 15:55:03 -07:00
write_unprepared_txn.cc Fix unchecked statuses for transaction_test (#7572) 2020-10-21 14:03:59 -07:00
write_unprepared_txn.h Replace tracked_keys with a new LockTracker interface in TransactionDB (#7013) 2020-08-06 12:38:00 -07:00
write_unprepared_txn_db.cc Replace reinterpret_cast with static_cast_with_check (#7067) 2020-07-02 19:25:41 -07:00
write_unprepared_txn_db.h WriteUnPrepared: Pass in correct subbatch count during rollback (#6463) 2020-02-28 11:19:32 -08:00