List:Commits« Previous MessageNext Message »
From:marko.makela Date:January 16 2012 8:17am
Subject:bzr push into mysql-trunk branch (marko.makela:3729 to 3730)
View as plain text  
 3730 Marko Mäkelä	2012-01-16 [merge]
      Merge mysql-5.5 to mysql-trunk.

    modified:
      storage/innobase/buf/buf0buf.cc
 3729 Annamalai Gurusami	2012-01-16 [merge]
      Null merge from mysql-5.5 to mysql-trunk. 

=== modified file 'storage/innobase/buf/buf0buf.cc'
--- a/storage/innobase/buf/buf0buf.cc	revid:annamalai.gurusami@oracle.com-20120116050345-1j9togwuxemmqcl4
+++ b/storage/innobase/buf/buf0buf.cc	revid:marko.makela@stripped116081520-eq07onvfhwrpifkj
@@ -3075,9 +3075,18 @@ buf_page_get_known_nowait(
 	ut_a(buf_block_get_state(block) == BUF_BLOCK_FILE_PAGE);
 #endif /* UNIV_DEBUG || UNIV_BUF_DEBUG */
 #if defined UNIV_DEBUG_FILE_ACCESSES || defined UNIV_DEBUG
-	mutex_enter(&block->mutex);
-	ut_a(!block->page.file_page_was_freed);
-	mutex_exit(&block->mutex);
+	if (mode != BUF_KEEP_OLD) {
+		/* If mode == BUF_KEEP_OLD, we are executing an I/O
+		completion routine.  Avoid a bogus assertion failure
+		when ibuf_merge_or_delete_for_page() is processing a
+		page that was just freed due to DROP INDEX, or
+		deleting a record from SYS_INDEXES. This check will be
+		skipped in recv_recover_page() as well. */
+
+		mutex_enter(&block->mutex);
+		ut_a(!block->page.file_page_was_freed);
+		mutex_exit(&block->mutex);
+	}
 #endif
 
 #ifdef UNIV_IBUF_COUNT_DEBUG

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (marko.makela:3729 to 3730) marko.makela16 Jan