rocksdb/utilities/transactions
Manuel Ung 9300ef5455 Fix shared lock upgrades
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
2017-04-10 16:06:00 -07:00
..
optimistic_transaction_db_impl.cc optimistic transactions support for reinitialization 2016-03-07 19:03:09 -08:00
optimistic_transaction_db_impl.h optimistic transactions support for reinitialization 2016-03-07 19:03:09 -08:00
optimistic_transaction_impl.cc Fix shared lock upgrades 2017-04-10 16:06:00 -07:00
optimistic_transaction_impl.h Implement non-exclusive locks 2016-12-05 17:39:17 -08:00
optimistic_transaction_test.cc Windows thread 2017-02-06 14:54:18 -08:00
transaction_base.cc Fix shared lock upgrades 2017-04-10 16:06:00 -07:00
transaction_base.h Fix shared lock upgrades 2017-04-10 16:06:00 -07:00
transaction_db_impl.cc Implement non-exclusive locks 2016-12-05 17:39:17 -08:00
transaction_db_impl.h Implement non-exclusive locks 2016-12-05 17:39:17 -08:00
transaction_db_mutex_impl.cc Fix transaction locking 2016-02-16 17:15:05 -08:00
transaction_db_mutex_impl.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
transaction_impl.cc Fix shared lock upgrades 2017-04-10 16:06:00 -07:00
transaction_impl.h Implement non-exclusive locks 2016-12-05 17:39:17 -08:00
transaction_lock_mgr.cc Fix compile error in trasaction_lock_mgr.cc 2016-12-06 14:39:16 -08:00
transaction_lock_mgr.h Move some files under util/ to separate dirs 2017-04-05 19:09:16 -07:00
transaction_test.cc Fix shared lock upgrades 2017-04-10 16:06:00 -07:00
transaction_util.cc Gcc-7 buffer size insufficient 2016-12-14 19:24:26 -08:00
transaction_util.h Fix shared lock upgrades 2017-04-10 16:06:00 -07:00