MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Inaam Rana Date:December 16 2010 2:57pm
Subject:bzr commit into mysql-trunk-innodb branch (inaam.rana:3392) Bug#58975
View as plain text  
#At file:///home/inaam/w/mysql-trunk-innodb/ based on revid:jimmy.yang@stripped

 3392 Inaam Rana	2010-12-16
      Make sure that buf_flush_list() is called at least once in the
      page_cleaner code path before we wait on buf_flush_wait_batch_end().
      This ensures that buf_pool->no_flush[BUF_FLUSH_LIST] event will be
      set and the page_cleaner will not end up in infinite wait.
      This fix does that by changing the SRV_SHUTDOWN_CLEANUP while loop to
      a do..while loop.
      approved by: Marko

=== modified file 'storage/innobase/buf/buf0flu.c'
--- a/storage/innobase/buf/buf0flu.c	revid:jimmy.yang@stripped
+++ b/storage/innobase/buf/buf0flu.c	revid:inaam.rana@stripped
@@ -2408,8 +2408,7 @@ buf_flush_page_cleaner_thread(
 	the buffer pool but can't be sure that no new pages are being
 	dirtied until we enter SRV_SHUTDOWN_FLUSH_PHASE phase. */
-	while (srv_shutdown_state == SRV_SHUTDOWN_CLEANUP) {
+	do {
 		n_flushed = page_cleaner_do_flush_batch(PCT_IO(100),
@@ -2417,7 +2416,7 @@ buf_flush_page_cleaner_thread(
 		if (n_flushed == 0) {
-	}
+	} while (srv_shutdown_state == SRV_SHUTDOWN_CLEANUP);
 	/* At this point all threads including the master and the purge
 	thread must have been suspended. */

Attachment: [text/bzr-bundle] bzr/
bzr commit into mysql-trunk-innodb branch (inaam.rana:3392) Bug#58975Inaam Rana16 Dec