List:Commits« Previous MessageNext Message »
From:marko.makela Date:August 23 2011 10:48am
Subject:bzr push into mysql-5.1 branch (marko.makela:3588 to 3589) Bug#11766591
View as plain text  
 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#11766591marko.makela23 Aug