mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
947efe17ed
This is based on a prototype by Thirunarayanan Balathandayuthapani <thiru@mariadb.com>. Binlog and Galera write-set replication information was written into TRX_SYS page on each commit. Instead of writing to the TRX_SYS during normal operation, InnoDB can make use of rollback segment header pages, which are already being written to during a commit. The following list of fields in rollback segment header page are added: TRX_RSEG_BINLOG_OFFSET TRX_RSEG_BINLOG_NAME (NUL-terminated; empty name = not present) TRX_RSEG_WSREP_XID_FORMAT (0=not present; 1=present) TRX_RSEG_WSREP_XID_GTRID TRX_RSEG_WSREP_XID_BQUAL TRX_RSEG_WSREP_XID_DATA trx_sys_t: Introduce the fields recovered_binlog_filename, recovered_binlog_offset, recovered_wsrep_xid. To facilitate upgrade from older mysql or mariaDB versions, we will read the information in TRX_SYS page. It will be overridden by the information that we find in rollback segment header pages. Mariabackup --prepare will read the metadata from the rollback segment header pages via trx_rseg_array_init(). It will still not read any undo log pages or recover any transactions.
8 lines
220 B
Text
8 lines
220 B
Text
CREATE TABLE t(a varchar(60)) ENGINE INNODB;
|
|
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
|
|
# expect FOUND
|
|
DROP TABLE t;
|