Commit ddd3e261 authored by unknown's avatar unknown

MDEV-254: Server hang with FLUSH TABLES WITH READ LOCK AND DISABLE CHECKPOINT

The code to re-enable checkpointing after UNLOCK TABLES was lost in the 5.5
merge, so re-add it back in.
parent 0887c6b9
FLUSH TABLES WITH READ LOCK AND DISABLE CHECKPOINT;
UNLOCK TABLES;
CREATE TABLE t1 ( m MEDIUMTEXT ) ENGINE=InnoDB;
INSERT INTO t1 VALUES ( REPEAT('i',1048576) );
DROP TABLE t1;
--source include/have_innodb.inc
# MDEV-254: Server hang with FLUSH TABLES WITH READ LOCK AND DISABLE CHECKPOINT
FLUSH TABLES WITH READ LOCK AND DISABLE CHECKPOINT;
UNLOCK TABLES;
CREATE TABLE t1 ( m MEDIUMTEXT ) ENGINE=InnoDB;
INSERT INTO t1 VALUES ( REPEAT('i',1048576) );
DROP TABLE t1;
...@@ -1041,6 +1041,15 @@ void Global_read_lock::unlock_global_read_lock(THD *thd) ...@@ -1041,6 +1041,15 @@ void Global_read_lock::unlock_global_read_lock(THD *thd)
DBUG_ASSERT(m_mdl_global_shared_lock && m_state); DBUG_ASSERT(m_mdl_global_shared_lock && m_state);
if (thd->global_disable_checkpoint)
{
thd->global_disable_checkpoint= 0;
if (!--global_disable_checkpoint)
{
ha_checkpoint_state(0); // Enable checkpoints
}
}
if (m_mdl_blocks_commits_lock) if (m_mdl_blocks_commits_lock)
{ {
thd->mdl_context.release_lock(m_mdl_blocks_commits_lock); thd->mdl_context.release_lock(m_mdl_blocks_commits_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment