diff options
author | Marko Mäkelä <marko.makela@oracle.com> | 2011-09-14 15:39:36 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@oracle.com> | 2011-09-14 15:39:36 +0300 |
commit | d60cdefc0da9e2d5a49499763fdf5577d9fbb609 (patch) | |
tree | f3299873d03585a8d7ea3c3589ee8b074d082048 /storage | |
parent | 37f4deccd0f3c23e7af6c2e5f5f45d5225e1c01d (diff) | |
download | mariadb-git-d60cdefc0da9e2d5a49499763fdf5577d9fbb609.tar.gz |
Hopefully really final fix of Bug#11766591 59733: Possible deadlock
when buffered changes are to be discarded
sync_thread_add_level(level = SYNC_IBUF_INDEX_TREE): Relax a too strict
condition that the thread must not be holding locks below SYNC_FSP_PAGE.
It is perfectly valid to hold any latch above SYNC_IBUF_INDEX_TREE when
acquiring the insert buffer tree latch.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innodb_plugin/sync/sync0sync.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/storage/innodb_plugin/sync/sync0sync.c b/storage/innodb_plugin/sync/sync0sync.c index 64aadffdfad..3640e204525 100644 --- a/storage/innodb_plugin/sync/sync0sync.c +++ b/storage/innodb_plugin/sync/sync0sync.c @@ -1258,8 +1258,7 @@ sync_thread_add_level( break; case SYNC_IBUF_INDEX_TREE: if (sync_thread_levels_contain(array, SYNC_FSP)) { - ut_a(sync_thread_levels_g( - array, SYNC_FSP_PAGE - 1, TRUE)); + ut_a(sync_thread_levels_g(array, level - 1, TRUE)); } else { ut_a(sync_thread_levels_g( array, SYNC_IBUF_TREE_NODE - 1, TRUE)); |