diff options
author | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2019-09-17 19:54:15 +0530 |
---|---|---|
committer | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2019-09-17 19:54:55 +0530 |
commit | fb3e3a6a3d165d79331f7f359e9c1f28a332c772 (patch) | |
tree | 09d5d1b2db594d09471e30e6bf0ec89996cf4cc6 /storage/innobase/trx/trx0trx.cc | |
parent | 2a98d0b5ca2324405d65415423258cc088fa2f8a (diff) | |
download | mariadb-git-fb3e3a6a3d165d79331f7f359e9c1f28a332c772.tar.gz |
MDEV-20483 trx_lock_t::table_locks is not a subset of trx_lock_t::trx_locks
Problem:
=======
Transaction left with nonempty table locks list. This leads to
assumption that table_locks is not subset of trx_locks. Problem is that
lock_wait_timeout_thread() doesn't remove the table lock from
table_locks for transaction.
Solution:
========
In lock_wait_timeout_thread(), remove the lock from table vector of
transaction.
Diffstat (limited to 'storage/innobase/trx/trx0trx.cc')
-rw-r--r-- | storage/innobase/trx/trx0trx.cc | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/storage/innobase/trx/trx0trx.cc b/storage/innobase/trx/trx0trx.cc index 1dcca7c1f72..b06e15d4f37 100644 --- a/storage/innobase/trx/trx0trx.cc +++ b/storage/innobase/trx/trx0trx.cc @@ -561,8 +561,6 @@ inline void trx_t::release_locks() if (UT_LIST_GET_LEN(lock.trx_locks)) lock_trx_release_locks(this); - else - lock.table_locks.clear(); /* Work around MDEV-20483 */ } /********************************************************************//** |