mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
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
This commit is contained in:
@ -1019,7 +1019,8 @@ loop:
|
|||||||
if (recv_addr->state == RECV_NOT_PROCESSED) {
|
if (recv_addr->state == RECV_NOT_PROCESSED) {
|
||||||
if (!has_printed) {
|
if (!has_printed) {
|
||||||
fprintf(stderr,
|
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;
|
has_printed = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1046,6 +1047,16 @@ loop:
|
|||||||
|
|
||||||
recv_addr = HASH_GET_NEXT(addr_hash, recv_addr);
|
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 */
|
/* Wait until all the pages have been processed */
|
||||||
@ -1059,6 +1070,11 @@ loop:
|
|||||||
mutex_enter(&(recv_sys->mutex));
|
mutex_enter(&(recv_sys->mutex));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (has_printed) {
|
||||||
|
|
||||||
|
fprintf(stderr, "\n");
|
||||||
|
}
|
||||||
|
|
||||||
if (!allow_ibuf) {
|
if (!allow_ibuf) {
|
||||||
/* Flush all the file pages to disk and invalidate them in
|
/* Flush all the file pages to disk and invalidate them in
|
||||||
the buffer pool */
|
the buffer pool */
|
||||||
|
@ -2417,7 +2417,19 @@ loop:
|
|||||||
|
|
||||||
background_loop:
|
background_loop:
|
||||||
/* In this loop we run background operations when the server
|
/* 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";
|
srv_main_thread_op_info = "reserving kernel mutex";
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user