9300ef5455
Summary: Upgrading a shared lock was silently succeeding because the actual locking code was skipped. This is because if the keys are tracked, it is assumed that they are already locked and do not require locking. Fix this by recording in tracked keys whether the key was locked exclusively or not. Note that lock downgrades are impossible, which is the behaviour we expect. This fixes facebook/mysql-5.6#587. Closes https://github.com/facebook/rocksdb/pull/2122 Differential Revision: D4861489 Pulled By: IslamAbdelRahman fbshipit-source-id: 58c7ebe7af098bf01b9774b666d3e9867747d8fd |
||
---|---|---|
.. | ||
optimistic_transaction_db_impl.cc | ||
optimistic_transaction_db_impl.h | ||
optimistic_transaction_impl.cc | ||
optimistic_transaction_impl.h | ||
optimistic_transaction_test.cc | ||
transaction_base.cc | ||
transaction_base.h | ||
transaction_db_impl.cc | ||
transaction_db_impl.h | ||
transaction_db_mutex_impl.cc | ||
transaction_db_mutex_impl.h | ||
transaction_impl.cc | ||
transaction_impl.h | ||
transaction_lock_mgr.cc | ||
transaction_lock_mgr.h | ||
transaction_test.cc | ||
transaction_util.cc | ||
transaction_util.h |