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#6494 | marko.makela | 26 Sep |