Commit 9a4e1560 authored by marko's avatar marko

branches/5.1: ibuf_delete_rec(): When the record cannot be found and

the tablespace has been dropped, commit the mini-transaction, so that
InnoDB will not hold the insert buffer tree latch in exclusive mode,
causing a potential deadlock.  This bug was introduced in the fix of
Bug #27276 in r2924.
parent 7399eef2
...@@ -2996,7 +2996,7 @@ ibuf_delete_rec( ...@@ -2996,7 +2996,7 @@ ibuf_delete_rec(
/* The tablespace has been dropped. It is possible /* The tablespace has been dropped. It is possible
that another thread has deleted the insert buffer that another thread has deleted the insert buffer
entry. Do not complain. */ entry. Do not complain. */
goto func_exit; goto commit_and_exit;
} }
fprintf(stderr, fprintf(stderr,
...@@ -3041,6 +3041,7 @@ ibuf_delete_rec( ...@@ -3041,6 +3041,7 @@ ibuf_delete_rec(
ut_ad(ibuf_validate_low()); ut_ad(ibuf_validate_low());
commit_and_exit:
btr_pcur_commit_specify_mtr(pcur, mtr); btr_pcur_commit_specify_mtr(pcur, mtr);
func_exit: func_exit:
......
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