diff options
author | Monty <monty@mariadb.org> | 2019-08-08 20:10:00 +0300 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2019-08-08 23:08:23 +0300 |
commit | 6765cc607764c920bc5fbf4128bb526b73f15c2e (patch) | |
tree | af87f7f234df58df44e666fc5abd398113978fbb /sql/sql_base.cc | |
parent | dbac2039e81f6d371acdacfb65eba10e395bb9a2 (diff) | |
download | mariadb-git-6765cc607764c920bc5fbf4128bb526b73f15c2e.tar.gz |
Fixed assertion Assertion `!table->pos_in_locked_tables' failed
MDEV-17717
Assertion `!table->pos_in_locked_tables' failed in tc_release_table on
flushing RocksDB table under SERIALIZABLE
MDEV-17998
Deadlock and eventual Assertion `!table->pos_in_locked_tables' failed
in tc_release_table on KILL_TIMEOUT
MDEV-19591
Assertion `!table->pos_in_locked_tables' failed in tc_release_table upon
altering table into S3 under lock.
The problem was that thd->open_tables->pos_in_locked_tables was not reset
when alter table failed to reopen a locked table.
Diffstat (limited to 'sql/sql_base.cc')
-rw-r--r-- | sql/sql_base.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 25f3ed6e9ad..662ba3f6b30 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -2371,6 +2371,7 @@ unlink_all_closed_tables(THD *thd, MYSQL_LOCK *lock, size_t reopen_count) DBUG_ASSERT(thd->open_tables == m_reopen_array[reopen_count]); thd->open_tables->pos_in_locked_tables->table= NULL; + thd->open_tables->pos_in_locked_tables= 0; close_thread_table(thd, &thd->open_tables); } |