Commit a408e881 authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-14174 crash on start with innodb-track-changed-pages

The XtraDB option innodb_track_changed_pages causes
the function log_group_read_log_seg() to be invoked
even when recv_sys==NULL, leading to the SIGSEGV.

This regression was caused by
MDEV-11027 InnoDB log recovery is too noisy
parent 84c9c8b2
...@@ -2,3 +2,4 @@ ...@@ -2,3 +2,4 @@
--default-storage-engine=MyISAM --default-storage-engine=MyISAM
--innodb-strict-mode=0 --innodb-strict-mode=0
--innodb-file-per-table=0 --innodb-file-per-table=0
--loose-innodb-track-changed-pages
...@@ -2503,7 +2503,6 @@ log_group_read_log_seg( ...@@ -2503,7 +2503,6 @@ log_group_read_log_seg(
ulint len; ulint len;
ulint source_offset; ulint source_offset;
ibool sync; ibool sync;
ib_time_t time;
ut_ad(mutex_own(&(log_sys->mutex))); ut_ad(mutex_own(&(log_sys->mutex)));
...@@ -2540,13 +2539,16 @@ log_group_read_log_seg( ...@@ -2540,13 +2539,16 @@ log_group_read_log_seg(
start_lsn += len; start_lsn += len;
buf += len; buf += len;
time = ut_time(); if (recv_sys) {
ib_time_t time = ut_time();
if (recv_sys->progress_time - time >= 15) { if (recv_sys->progress_time - time >= 15) {
recv_sys->progress_time = time; recv_sys->progress_time = time;
ut_print_timestamp(stderr); ut_print_timestamp(stderr);
fprintf(stderr, " InnoDB: Read redo log up to LSN=%llu\n", fprintf(stderr,
start_lsn); " InnoDB: Read redo log up to LSN=%llu\n",
start_lsn);
}
} }
if (start_lsn != end_lsn) { if (start_lsn != end_lsn) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment