Commit 7f44419d authored by heikki@donna.mysql.fi's avatar heikki@donna.mysql.fi
Browse files

log0recv.c:

  Print progress info of the applying log records to the database phase in recovery
srv0srv.c:
  Do buffer pool flush and checkpoints more often to make recovery faster
parent 954920c8
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -1019,7 +1019,8 @@ recv_apply_hashed_log_recs(
			if (recv_addr->state == RECV_NOT_PROCESSED) {
				if (!has_printed) {
					fprintf(stderr, 
"InnoDB: Starting an apply batch of log records to the database...\n");
"InnoDB: Starting an apply batch of log records to the database...\n"
"InnoDB: Progress in percents:");
					has_printed = TRUE;
				}
				
@@ -1046,6 +1047,16 @@ recv_apply_hashed_log_recs(

			recv_addr = HASH_GET_NEXT(addr_hash, recv_addr);
		}

		if (has_printed
		    && (i * 100) / hash_get_n_cells(recv_sys->addr_hash)
		    != ((i + 1) * 100)
		             / hash_get_n_cells(recv_sys->addr_hash)) {

		        fprintf(stderr, "%lu ",
			  (i * 100) / hash_get_n_cells(recv_sys->addr_hash));

		}
	}

	/* Wait until all the pages have been processed */
@@ -1059,6 +1070,11 @@ recv_apply_hashed_log_recs(
		mutex_enter(&(recv_sys->mutex));
	}	

	if (has_printed) {

	        fprintf(stderr, "\n");
	}

	if (!allow_ibuf) {
		/* Flush all the file pages to disk and invalidate them in
		the buffer pool */
+13 −1
Original line number Diff line number Diff line
@@ -2417,7 +2417,19 @@ srv_master_thread(

background_loop:
	/* In this loop we run background operations when the server
	is quiet */
	is quiet and we also come here about once in 10 seconds */

	srv_main_thread_op_info = "flushing buffer pool pages";

	/* Flush a few oldest pages to make the checkpoint younger */

	n_pages_flushed = buf_flush_batch(BUF_FLUSH_LIST, 10, ut_dulint_max);

	srv_main_thread_op_info = "making checkpoint";

	/* Make a new checkpoint about once in 10 seconds */

	log_checkpoint(TRUE, FALSE);

	srv_main_thread_op_info = "reserving kernel mutex";