summaryrefslogtreecommitdiff
path: root/innobase/log/log0recv.c
diff options
context:
space:
mode:
Diffstat (limited to 'innobase/log/log0recv.c')
-rw-r--r--innobase/log/log0recv.c35
1 files changed, 29 insertions, 6 deletions
diff --git a/innobase/log/log0recv.c b/innobase/log/log0recv.c
index eb3eadcede9..999429cbfcd 100644
--- a/innobase/log/log0recv.c
+++ b/innobase/log/log0recv.c
@@ -61,7 +61,11 @@ buffer pool before the pages have been recovered to the up-to-date state */
/* Recovery is running and no operations on the log files are allowed
yet: the variable name is misleading */
-ibool recv_no_ibuf_operations = FALSE;
+ibool recv_no_ibuf_operations = FALSE;
+
+/* the following counter is used to decide when to print info on
+log scan */
+ulint recv_scan_print_counter = 0;
/************************************************************
Creates the recovery system. */
@@ -1812,10 +1816,19 @@ recv_scan_log_recs(
*group_scanned_lsn = scanned_lsn;
if (more_data) {
- fprintf(stderr,
+ recv_scan_print_counter++;
+
+ if (recv_scan_print_counter < 10
+ || (recv_scan_print_counter % 10 == 0)) {
+ fprintf(stderr,
"InnoDB: Doing recovery: scanned up to log sequence number %lu %lu\n",
ut_dulint_get_high(*group_scanned_lsn),
ut_dulint_get_low(*group_scanned_lsn));
+ if (recv_scan_print_counter == 10) {
+ fprintf(stderr,
+"InnoDB: After this prints a line for every 10th scan sweep:\n");
+ }
+ }
/* Try to parse more log records */
@@ -1911,6 +1924,15 @@ recv_recovery_from_checkpoint_start(
recv_sys_init();
}
+ if (srv_force_recovery >= SRV_FORCE_NO_LOG_REDO) {
+ fprintf(stderr,
+ "InnoDB: The user has set SRV_FORCE_NO_LOG_REDO on\n");
+ fprintf(stderr,
+ "InnoDB: Skipping log redo\n");
+
+ return(DB_SUCCESS);
+ }
+
sync_order_checks_on = TRUE;
recv_recovery_on = TRUE;
@@ -2028,10 +2050,8 @@ recv_recovery_from_checkpoint_start(
while (group) {
old_scanned_lsn = recv_sys->scanned_lsn;
- if (srv_force_recovery < SRV_FORCE_NO_LOG_REDO) {
- recv_group_scan_log_recs(group, &contiguous_lsn,
+ recv_group_scan_log_recs(group, &contiguous_lsn,
&group_scanned_lsn);
- }
group->scanned_lsn = group_scanned_lsn;
@@ -2124,7 +2144,10 @@ recv_recovery_from_checkpoint_finish(void)
/* Apply the hashed log records to the respective file pages */
- recv_apply_hashed_log_recs(TRUE);
+ if (srv_force_recovery < SRV_FORCE_NO_LOG_REDO) {
+
+ recv_apply_hashed_log_recs(TRUE);
+ }
if (log_debug_writes) {
fprintf(stderr,