3589 Marko Mäkelä 2011-08-22
Bug #11766591 59733: POSSIBLE DEADLOCK WHEN BUFFERED CHANGES ARE TO BE DISCARDED
The fix in revision id marko.makela@oracle.com-20110815091143-h3zbvm0pv8ni3qql
introduced a false UNIV_SYNC_DEBUG alarm. Relax the assertion.
modified:
storage/innodb_plugin/sync/sync0sync.c
3588 Joerg Bruehe 2011-08-19 [merge]
Merge bug fix to main.
modified:
support-files/mysql.spec.sh
=== modified file 'storage/innodb_plugin/sync/sync0sync.c'
--- a/storage/innodb_plugin/sync/sync0sync.c revid:joerg.bruehe@stripped
+++ b/storage/innodb_plugin/sync/sync0sync.c revid:marko.makela@stripped
@@ -1248,7 +1248,13 @@ sync_thread_add_level(
TRUE));
break;
case SYNC_IBUF_TREE_NODE_NEW:
- ut_a(sync_thread_levels_contain(array, SYNC_IBUF_MUTEX));
+ /* ibuf_add_free_page() allocates new pages for the
+ change buffer while only holding the tablespace
+ x-latch. These pre-allocated new pages may only be
+ taken in use while holding ibuf_mutex, in
+ btr_page_alloc_for_ibuf(). */
+ ut_a(sync_thread_levels_contain(array, SYNC_IBUF_MUTEX)
+ || sync_thread_levels_contain(array, SYNC_FSP));
break;
case SYNC_IBUF_INDEX_TREE:
if (sync_thread_levels_contain(array, SYNC_FSP)) {
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-5.1 branch (marko.makela:3588 to 3589) Bug#11766591 | marko.makela | 23 Aug |