mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +01:00
Apply InnoDB snapshot innodb-5.1-ss2637, part 3. Fixes
Bug #39483: InnoDB hang on adaptive hash because of out of order ::open() call by MySQL Detailed revision comments: r2630 | inaam | 2008-09-16 19:11:26 +0300 (Tue, 16 Sep 2008) | 11 lines branches/5.1 bug#39483 InnoDB hang on adaptive hash because of out of order ::open() call by MySQL Forward port of r2629 Under some conditions MySQL calls ::open with search_latch leading to a deadlock as we try to acquire dict_sys->mutex inside ::open breaking the latching order. The fix is to release search_latch. Reviewed by: Heikki
This commit is contained in:
parent
fef8e27a79
commit
bc896a54c8
1 changed files with 8 additions and 0 deletions
|
@ -2298,6 +2298,14 @@ ha_innobase::open(
|
|||
UT_NOT_USED(test_if_locked);
|
||||
|
||||
thd = ha_thd();
|
||||
|
||||
/* Under some cases MySQL seems to call this function while
|
||||
holding btr_search_latch. This breaks the latching order as
|
||||
we acquire dict_sys->mutex below and leads to a deadlock. */
|
||||
if (thd != NULL) {
|
||||
innobase_release_temporary_latches(ht, thd);
|
||||
}
|
||||
|
||||
normalize_table_name(norm_name, name);
|
||||
|
||||
user_thd = NULL;
|
||||
|
|
Loading…
Add table
Reference in a new issue