mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 20:07:13 +02:00
MDEV-26322 Last binlog file and position are "empty" in mariabackup --prepare output
The issue is caused by59a0236da4commit. The initial intention of the commit was to speed up "mariabackup --prepare". The call stack of binlog position reading is the following: ▾ trx_rseg_mem_restore ▾ trx_rseg_array_init ▾ trx_lists_init_at_db_start ▸ srv_start Both trx_lists_init_at_db_start() and trx_rseg_mem_restore() contain special cases for srv_operation == SRV_OPERATION_RESTORE condition, and on this condition only rseg headers are read to parse binlog position. Performance impact is not so big. The solution is to revert59a0236da4.
This commit is contained in:
parent
7f5a3cd253
commit
6a3545dd1e
3 changed files with 2 additions and 5 deletions
|
|
@ -3,6 +3,6 @@ INSERT INTO t VALUES(1);
|
|||
SHOW VARIABLES like 'log_bin';
|
||||
Variable_name Value
|
||||
log_bin ON
|
||||
FOUND 1 /Last binlog file .*, position .*/ in current_test
|
||||
FOUND 1 /Last binlog file .+, position \d+/ in current_test
|
||||
# expect FOUND
|
||||
DROP TABLE t;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir
|
|||
exec $XTRABACKUP --prepare --binlog-info=1 --target-dir=$basedir ;
|
||||
|
||||
let SEARCH_FILE=$MYSQLTEST_VARDIR/log/current_test;
|
||||
--let SEARCH_PATTERN= Last binlog file .*, position .*
|
||||
--let SEARCH_PATTERN= Last binlog file .+, position \d+
|
||||
--source include/search_pattern_in_file.inc
|
||||
--echo # expect FOUND
|
||||
|
||||
|
|
|
|||
|
|
@ -1479,9 +1479,6 @@ file_checked:
|
|||
if (err != DB_SUCCESS) {
|
||||
return srv_init_abort(err);
|
||||
}
|
||||
if (srv_operation == SRV_OPERATION_RESTORE) {
|
||||
break;
|
||||
}
|
||||
err = trx_lists_init_at_db_start();
|
||||
if (err != DB_SUCCESS) {
|
||||
return srv_init_abort(err);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue