List:Commits« Previous MessageNext Message »
From:marko.makela Date:September 25 2012 8:27pm
Subject:bzr push into mysql-5.6-wl6494 branch (marko.makela:4321 to 4324) WL#6494
View as plain text  
 4324 Marko Mäkelä	2012-09-25
      WL#6494 review cleanup: Eliminate a goto.

    modified:
      storage/innobase/srv/srv0start.cc
 4323 Marko Mäkelä	2012-09-25
      WL#6494 review cleanup: Add a comment about recv_no_log_write.

    modified:
      storage/innobase/srv/srv0start.cc
 4322 Marko Mäkelä	2012-09-25
      Write a proper help string for innodb_force_recovery_crash.

    modified:
      storage/innobase/handler/ha_innodb.cc
 4321 Marko Mäkelä	2012-09-25
      Suppress a warning that is sometimes issued about crash recovery.

    modified:
      mysql-test/suite/parts/r/partition_debug.result
      mysql-test/suite/parts/t/partition_debug.test
=== modified file 'storage/innobase/handler/ha_innodb.cc'
--- a/storage/innobase/handler/ha_innodb.cc	revid:marko.makela@oracle.com-20120925124148-vfos3ynvidyok2m8
+++ b/storage/innobase/handler/ha_innodb.cc	revid:marko.makela@stripped0120925200910-bpkqpa9ynb5nrxez
@@ -15681,7 +15681,7 @@ static MYSQL_SYSVAR_ULONG(force_recovery
 #ifndef DBUG_OFF
 static MYSQL_SYSVAR_ULONG(force_recovery_crash, srv_force_recovery_crash,
   PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
-  "Helps to save your data in case the disk image of the database becomes corrupt.",
+  "Kills the server during crash recovery.",
   NULL, NULL, 0, 0, 10, 0);
 #endif /* !DBUG_OFF */
 

=== modified file 'storage/innobase/srv/srv0start.cc'
--- a/storage/innobase/srv/srv0start.cc	revid:marko.makela@strippedidyok2m8
+++ b/storage/innobase/srv/srv0start.cc	revid:marko.makela@stripped
@@ -1948,27 +1948,19 @@ innobase_start_or_create_for_mysql(void)
 	srv_log_file_size_requested = srv_log_file_size;
 
 	if (create_new_db) {
-		{
-			bool success = buf_flush_list(
-				ULINT_MAX, LSN_MAX, NULL);
-			ut_a(success);
-		}
+		bool success = buf_flush_list(ULINT_MAX, LSN_MAX, NULL);
+		ut_a(success);
 
 		min_flushed_lsn = max_flushed_lsn = log_get_lsn();
 
 		buf_flush_wait_batch_end(NULL, BUF_FLUSH_LIST);
-create_log_files:
+
 		err = create_log_files(logfilename, dirnamelen,
 				       max_flushed_lsn, logfile0);
 
 		if (err != DB_SUCCESS) {
 			return(err);
 		}
-
-		if (!create_new_db) {
-			create_log_files_rename(logfilename, dirnamelen,
-						max_flushed_lsn, logfile0);
-		}
 	} else {
 		for (i = 0; i < SRV_N_LOG_FILES_MAX; i++) {
 			os_offset_t	size;
@@ -2007,7 +1999,17 @@ create_log_files:
 						return(DB_ERROR);
 					}
 
-					goto create_log_files;
+					err = create_log_files(
+						logfilename, dirnamelen,
+						max_flushed_lsn, logfile0);
+
+					if (err != DB_SUCCESS) {
+						return(err);
+					}
+
+					create_log_files_rename(
+						logfilename, dirnamelen,
+						max_flushed_lsn, logfile0);
 				} else if (i < 2) {
 					/* must have at least 2 log files */
 					return(err);
@@ -2306,6 +2308,9 @@ create_log_files:
 
 			ut_ad(max_flushed_lsn == log_get_lsn());
 
+			/* Prohibit redo log writes from any other
+			threads until creating a log checkpoint at the
+			end of create_log_files(). */
 			ut_d(recv_no_log_write = TRUE);
 			ut_ad(!buf_pool_check_no_pending_io());
 

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-5.6-wl6494 branch (marko.makela:4321 to 4324) WL#6494marko.makela26 Sep