mariadb/mysql-test/suite/binlog/r/binlog_xa_prepared_disconnect.result
Alexander Barkov 36eba98817 MDEV-19123 Change default charset from latin1 to utf8mb4
Changing the default server character set from latin1 to utf8mb4.
2024-07-11 10:21:07 +04:00

1188 lines
34 KiB
Text

connection default;
RESET MASTER;
CREATE VIEW v_processlist as SELECT * FROM performance_schema.threads where type = 'FOREGROUND';
call mtr.add_suppression("Found 10 prepared XA transactions");
CREATE TABLE t (a INT) ENGINE=innodb;
INSERT INTO t VALUES(100);
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@sql_log_bin = OFF;
CREATE TEMPORARY TABLE tmp1 (a int) ENGINE=innodb;
XA START 'trx1tmp';
INSERT INTO tmp1 SET a=1;
XA END 'trx1tmp';
XA PREPARE 'trx1tmp';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@sql_log_bin = OFF;
CREATE TEMPORARY TABLE tmp1 (a int) ENGINE=innodb;
XA START 'trx2tmp';
INSERT INTO tmp1 SET a=1;
XA END 'trx2tmp';
XA PREPARE 'trx2tmp';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@sql_log_bin = OFF;
CREATE TEMPORARY TABLE tmp1 (a int) ENGINE=innodb;
XA START 'trx3tmp';
INSERT INTO tmp1 SET a=1;
XA END 'trx3tmp';
XA PREPARE 'trx3tmp';
connection default;
XA COMMIT 'trx1tmp';
ERROR XAE04: XAER_NOTA: Unknown XID
XA ROLLBACK 'trx1tmp';
ERROR XAE04: XAER_NOTA: Unknown XID
XA START 'trx1tmp';
ERROR XAE08: XAER_DUPID: The XID already exists
connection default;
*** 3 prepared transactions must be in the list ***
XA RECOVER;
formatID gtrid_length bqual_length data
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
connection conn1tmp;
disconnect conn1tmp;
connection default;
XA COMMIT 'trx1tmp';
KILL connection CONN_ID;
XA COMMIT 'trx3tmp';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx1ro';
SELECT * from t ORDER BY a;
a
100
XA END 'trx1ro';
XA PREPARE 'trx1ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx2ro';
SELECT * from t ORDER BY a;
a
100
XA END 'trx2ro';
XA PREPARE 'trx2ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx3ro';
SELECT * from t ORDER BY a;
a
100
XA END 'trx3ro';
XA PREPARE 'trx3ro';
connection default;
*** 4 prepared transactions must be in the list ***
XA RECOVER;
formatID gtrid_length bqual_length data
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
connection conn1ro;
disconnect conn1ro;
connection default;
XA ROLLBACK 'trx1ro';
KILL connection CONN_ID;
XA ROLLBACK 'trx3ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx1empty';
XA END 'trx1empty';
XA PREPARE 'trx1empty';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx2empty';
XA END 'trx2empty';
XA PREPARE 'trx2empty';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx3empty';
XA END 'trx3empty';
XA PREPARE 'trx3empty';
connection default;
*** 5 prepared transactions must be in the list ***
XA RECOVER;
formatID gtrid_length bqual_length data
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
connection conn1empty;
disconnect conn1empty;
connection default;
XA COMMIT 'trx1empty';
KILL connection CONN_ID;
XA COMMIT 'trx3empty';
connect conn1$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx1unprepared';
INSERT INTO t set a=0;
XA END 'trx1unprepared';
INSERT INTO t set a=0;
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
XA START 'trx1unprepared';
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
XA START 'trx1unprepared';
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
disconnect conn1unprepared;
connection default;
XA COMMIT 'trx1unprepared';
ERROR XAE04: XAER_NOTA: Unknown XID
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_0';
INSERT INTO t SET a=0;
XA END 'trx_0';
XA PREPARE 'trx_0';
disconnect conn0;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_1';
INSERT INTO t SET a=1;
XA END 'trx_1';
XA PREPARE 'trx_1';
disconnect conn1;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_2';
INSERT INTO t SET a=2;
XA END 'trx_2';
XA PREPARE 'trx_2';
disconnect conn2;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_3';
INSERT INTO t SET a=3;
XA END 'trx_3';
XA PREPARE 'trx_3';
disconnect conn3;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_4';
INSERT INTO t SET a=4;
XA END 'trx_4';
XA PREPARE 'trx_4';
disconnect conn4;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_5';
INSERT INTO t SET a=5;
XA END 'trx_5';
XA PREPARE 'trx_5';
disconnect conn5;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_6';
INSERT INTO t SET a=6;
XA END 'trx_6';
XA PREPARE 'trx_6';
disconnect conn6;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_7';
INSERT INTO t SET a=7;
XA END 'trx_7';
XA PREPARE 'trx_7';
disconnect conn7;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_8';
INSERT INTO t SET a=8;
XA END 'trx_8';
XA PREPARE 'trx_8';
disconnect conn8;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_9';
INSERT INTO t SET a=9;
XA END 'trx_9';
XA PREPARE 'trx_9';
disconnect conn9;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_10';
INSERT INTO t SET a=10;
XA END 'trx_10';
XA PREPARE 'trx_10';
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_11';
INSERT INTO t SET a=11;
XA END 'trx_11';
XA PREPARE 'trx_11';
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_12';
INSERT INTO t SET a=12;
XA END 'trx_12';
XA PREPARE 'trx_12';
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_13';
INSERT INTO t SET a=13;
XA END 'trx_13';
XA PREPARE 'trx_13';
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_14';
INSERT INTO t SET a=14;
XA END 'trx_14';
XA PREPARE 'trx_14';
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_15';
INSERT INTO t SET a=15;
XA END 'trx_15';
XA PREPARE 'trx_15';
connection default;
KILL CONNECTION CONN_ID;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_16';
INSERT INTO t SET a=16;
XA END 'trx_16';
XA PREPARE 'trx_16';
connection default;
KILL CONNECTION CONN_ID;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_17';
INSERT INTO t SET a=17;
XA END 'trx_17';
XA PREPARE 'trx_17';
connection default;
KILL CONNECTION CONN_ID;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_18';
INSERT INTO t SET a=18;
XA END 'trx_18';
XA PREPARE 'trx_18';
connection default;
KILL CONNECTION CONN_ID;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_19';
INSERT INTO t SET a=19;
XA END 'trx_19';
XA PREPARE 'trx_19';
connection default;
KILL CONNECTION CONN_ID;
connection default;
XA ROLLBACK 'trx_0';
XA ROLLBACK 'trx_1';
XA ROLLBACK 'trx_2';
XA ROLLBACK 'trx_3';
XA ROLLBACK 'trx_4';
XA COMMIT 'trx_5';
XA COMMIT 'trx_6';
XA COMMIT 'trx_7';
XA COMMIT 'trx_8';
XA COMMIT 'trx_9';
# restart
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_0';
INSERT INTO t SET a=0;
XA END 'new_trx_0';
XA PREPARE 'new_trx_0';
disconnect conn_restart_0;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_1';
INSERT INTO t SET a=1;
XA END 'new_trx_1';
XA PREPARE 'new_trx_1';
disconnect conn_restart_1;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_2';
INSERT INTO t SET a=2;
XA END 'new_trx_2';
XA PREPARE 'new_trx_2';
disconnect conn_restart_2;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_3';
INSERT INTO t SET a=3;
XA END 'new_trx_3';
XA PREPARE 'new_trx_3';
disconnect conn_restart_3;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_4';
INSERT INTO t SET a=4;
XA END 'new_trx_4';
XA PREPARE 'new_trx_4';
disconnect conn_restart_4;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_5';
INSERT INTO t SET a=5;
XA END 'new_trx_5';
XA PREPARE 'new_trx_5';
disconnect conn_restart_5;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_6';
INSERT INTO t SET a=6;
XA END 'new_trx_6';
XA PREPARE 'new_trx_6';
disconnect conn_restart_6;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_7';
INSERT INTO t SET a=7;
XA END 'new_trx_7';
XA PREPARE 'new_trx_7';
disconnect conn_restart_7;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_8';
INSERT INTO t SET a=8;
XA END 'new_trx_8';
XA PREPARE 'new_trx_8';
disconnect conn_restart_8;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_9';
INSERT INTO t SET a=9;
XA END 'new_trx_9';
XA PREPARE 'new_trx_9';
disconnect conn_restart_9;
connection default;
connection default;
XA COMMIT 'new_trx_0';
XA COMMIT 'new_trx_1';
XA COMMIT 'new_trx_2';
XA COMMIT 'new_trx_3';
XA COMMIT 'new_trx_4';
XA COMMIT 'new_trx_5';
XA COMMIT 'new_trx_6';
XA COMMIT 'new_trx_7';
XA COMMIT 'new_trx_8';
XA COMMIT 'new_trx_9';
XA START 'trx_10';
ERROR XAE08: XAER_DUPID: The XID already exists
XA COMMIT 'trx_10';
XA START 'trx_11';
ERROR XAE08: XAER_DUPID: The XID already exists
XA COMMIT 'trx_11';
XA START 'trx_12';
ERROR XAE08: XAER_DUPID: The XID already exists
XA COMMIT 'trx_12';
XA START 'trx_13';
ERROR XAE08: XAER_DUPID: The XID already exists
XA COMMIT 'trx_13';
XA START 'trx_14';
ERROR XAE08: XAER_DUPID: The XID already exists
XA COMMIT 'trx_14';
XA START 'trx_15';
ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_15';
XA START 'trx_16';
ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_16';
XA START 'trx_17';
ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_17';
XA START 'trx_18';
ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_18';
XA START 'trx_19';
ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_19';
SELECT * FROM t;
a
100
5
6
7
8
9
10
11
12
13
14
0
1
2
3
4
5
6
7
8
9
disconnect conn2tmp;
disconnect conn3tmp;
disconnect conn2ro;
disconnect conn3ro;
disconnect conn2empty;
disconnect conn3empty;
connection default;
XA ROLLBACK 'trx_20';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn19;
connection default;
XA ROLLBACK 'trx_19';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn18;
connection default;
XA ROLLBACK 'trx_18';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn17;
connection default;
XA ROLLBACK 'trx_17';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn16;
connection default;
XA ROLLBACK 'trx_16';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn15;
connection default;
XA ROLLBACK 'trx_15';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn14;
connection default;
XA ROLLBACK 'trx_14';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn13;
connection default;
XA ROLLBACK 'trx_13';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn12;
connection default;
XA ROLLBACK 'trx_12';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn11;
connection default;
XA ROLLBACK 'trx_11';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn10;
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@sql_log_bin = OFF;
CREATE TEMPORARY TABLE tmp1 (a int) ENGINE=innodb;
XA START 'trx1tmp';
INSERT INTO tmp1 SET a=1;
XA END 'trx1tmp';
XA PREPARE 'trx1tmp';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@sql_log_bin = OFF;
CREATE TEMPORARY TABLE tmp1 (a int) ENGINE=innodb;
XA START 'trx2tmp';
INSERT INTO tmp1 SET a=1;
XA END 'trx2tmp';
XA PREPARE 'trx2tmp';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@sql_log_bin = OFF;
CREATE TEMPORARY TABLE tmp1 (a int) ENGINE=innodb;
XA START 'trx3tmp';
INSERT INTO tmp1 SET a=1;
XA END 'trx3tmp';
XA PREPARE 'trx3tmp';
connection default;
XA COMMIT 'trx1tmp';
ERROR XAE04: XAER_NOTA: Unknown XID
XA ROLLBACK 'trx1tmp';
ERROR XAE04: XAER_NOTA: Unknown XID
XA START 'trx1tmp';
ERROR XAE08: XAER_DUPID: The XID already exists
connection default;
*** 3 prepared transactions must be in the list ***
XA RECOVER;
formatID gtrid_length bqual_length data
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
connection conn1tmp;
disconnect conn1tmp;
connection default;
XA COMMIT 'trx1tmp';
KILL connection CONN_ID;
XA COMMIT 'trx3tmp';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx1ro';
SELECT * from t ORDER BY a;
a
0
1
2
3
4
5
5
6
6
7
7
8
8
9
9
10
11
12
13
14
100
XA END 'trx1ro';
XA PREPARE 'trx1ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx2ro';
SELECT * from t ORDER BY a;
a
0
1
2
3
4
5
5
6
6
7
7
8
8
9
9
10
11
12
13
14
100
XA END 'trx2ro';
XA PREPARE 'trx2ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx3ro';
SELECT * from t ORDER BY a;
a
0
1
2
3
4
5
5
6
6
7
7
8
8
9
9
10
11
12
13
14
100
XA END 'trx3ro';
XA PREPARE 'trx3ro';
connection default;
*** 4 prepared transactions must be in the list ***
XA RECOVER;
formatID gtrid_length bqual_length data
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
connection conn1ro;
disconnect conn1ro;
connection default;
XA ROLLBACK 'trx1ro';
KILL connection CONN_ID;
XA ROLLBACK 'trx3ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx1empty';
XA END 'trx1empty';
XA PREPARE 'trx1empty';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx2empty';
XA END 'trx2empty';
XA PREPARE 'trx2empty';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx3empty';
XA END 'trx3empty';
XA PREPARE 'trx3empty';
connection default;
*** 5 prepared transactions must be in the list ***
XA RECOVER;
formatID gtrid_length bqual_length data
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
1 LEN1 LEN2 TRX_N
connection conn1empty;
disconnect conn1empty;
connection default;
XA COMMIT 'trx1empty';
KILL connection CONN_ID;
XA COMMIT 'trx3empty';
connect conn1$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx1unprepared';
INSERT INTO t set a=0;
XA END 'trx1unprepared';
INSERT INTO t set a=0;
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
XA START 'trx1unprepared';
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
XA START 'trx1unprepared';
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
disconnect conn1unprepared;
connection default;
XA COMMIT 'trx1unprepared';
ERROR XAE04: XAER_NOTA: Unknown XID
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_0';
INSERT INTO t SET a=0;
XA END 'trx_0';
XA PREPARE 'trx_0';
disconnect conn0;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_1';
INSERT INTO t SET a=1;
XA END 'trx_1';
XA PREPARE 'trx_1';
disconnect conn1;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_2';
INSERT INTO t SET a=2;
XA END 'trx_2';
XA PREPARE 'trx_2';
disconnect conn2;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_3';
INSERT INTO t SET a=3;
XA END 'trx_3';
XA PREPARE 'trx_3';
disconnect conn3;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_4';
INSERT INTO t SET a=4;
XA END 'trx_4';
XA PREPARE 'trx_4';
disconnect conn4;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_5';
INSERT INTO t SET a=5;
XA END 'trx_5';
XA PREPARE 'trx_5';
disconnect conn5;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_6';
INSERT INTO t SET a=6;
XA END 'trx_6';
XA PREPARE 'trx_6';
disconnect conn6;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_7';
INSERT INTO t SET a=7;
XA END 'trx_7';
XA PREPARE 'trx_7';
disconnect conn7;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_8';
INSERT INTO t SET a=8;
XA END 'trx_8';
XA PREPARE 'trx_8';
disconnect conn8;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_9';
INSERT INTO t SET a=9;
XA END 'trx_9';
XA PREPARE 'trx_9';
disconnect conn9;
connection default;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_10';
INSERT INTO t SET a=10;
XA END 'trx_10';
XA PREPARE 'trx_10';
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_11';
INSERT INTO t SET a=11;
XA END 'trx_11';
XA PREPARE 'trx_11';
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_12';
INSERT INTO t SET a=12;
XA END 'trx_12';
XA PREPARE 'trx_12';
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_13';
INSERT INTO t SET a=13;
XA END 'trx_13';
XA PREPARE 'trx_13';
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_14';
INSERT INTO t SET a=14;
XA END 'trx_14';
XA PREPARE 'trx_14';
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_15';
INSERT INTO t SET a=15;
XA END 'trx_15';
XA PREPARE 'trx_15';
connection default;
KILL CONNECTION CONN_ID;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_16';
INSERT INTO t SET a=16;
XA END 'trx_16';
XA PREPARE 'trx_16';
connection default;
KILL CONNECTION CONN_ID;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_17';
INSERT INTO t SET a=17;
XA END 'trx_17';
XA PREPARE 'trx_17';
connection default;
KILL CONNECTION CONN_ID;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
XA START 'trx_18';
INSERT INTO t SET a=18;
XA END 'trx_18';
XA PREPARE 'trx_18';
connection default;
KILL CONNECTION CONN_ID;
connect conn$i, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@binlog_format = STATEMENT;
SET @@binlog_format = ROW;
XA START 'trx_19';
INSERT INTO t SET a=19;
XA END 'trx_19';
XA PREPARE 'trx_19';
connection default;
KILL CONNECTION CONN_ID;
connection default;
XA ROLLBACK 'trx_0';
XA ROLLBACK 'trx_1';
XA ROLLBACK 'trx_2';
XA ROLLBACK 'trx_3';
XA ROLLBACK 'trx_4';
XA COMMIT 'trx_5';
XA COMMIT 'trx_6';
XA COMMIT 'trx_7';
XA COMMIT 'trx_8';
XA COMMIT 'trx_9';
# Kill and restart
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_0';
INSERT INTO t SET a=0;
XA END 'new_trx_0';
XA PREPARE 'new_trx_0';
disconnect conn_restart_0;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_1';
INSERT INTO t SET a=1;
XA END 'new_trx_1';
XA PREPARE 'new_trx_1';
disconnect conn_restart_1;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_2';
INSERT INTO t SET a=2;
XA END 'new_trx_2';
XA PREPARE 'new_trx_2';
disconnect conn_restart_2;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_3';
INSERT INTO t SET a=3;
XA END 'new_trx_3';
XA PREPARE 'new_trx_3';
disconnect conn_restart_3;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_4';
INSERT INTO t SET a=4;
XA END 'new_trx_4';
XA PREPARE 'new_trx_4';
disconnect conn_restart_4;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_5';
INSERT INTO t SET a=5;
XA END 'new_trx_5';
XA PREPARE 'new_trx_5';
disconnect conn_restart_5;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_6';
INSERT INTO t SET a=6;
XA END 'new_trx_6';
XA PREPARE 'new_trx_6';
disconnect conn_restart_6;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_7';
INSERT INTO t SET a=7;
XA END 'new_trx_7';
XA PREPARE 'new_trx_7';
disconnect conn_restart_7;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_8';
INSERT INTO t SET a=8;
XA END 'new_trx_8';
XA PREPARE 'new_trx_8';
disconnect conn_restart_8;
connection default;
connect conn_restart_$k, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'new_trx_9';
INSERT INTO t SET a=9;
XA END 'new_trx_9';
XA PREPARE 'new_trx_9';
disconnect conn_restart_9;
connection default;
connection default;
XA COMMIT 'new_trx_0';
XA COMMIT 'new_trx_1';
XA COMMIT 'new_trx_2';
XA COMMIT 'new_trx_3';
XA COMMIT 'new_trx_4';
XA COMMIT 'new_trx_5';
XA COMMIT 'new_trx_6';
XA COMMIT 'new_trx_7';
XA COMMIT 'new_trx_8';
XA COMMIT 'new_trx_9';
XA START 'trx_10';
ERROR XAE08: XAER_DUPID: The XID already exists
XA COMMIT 'trx_10';
XA START 'trx_11';
ERROR XAE08: XAER_DUPID: The XID already exists
XA COMMIT 'trx_11';
XA START 'trx_12';
ERROR XAE08: XAER_DUPID: The XID already exists
XA COMMIT 'trx_12';
XA START 'trx_13';
ERROR XAE08: XAER_DUPID: The XID already exists
XA COMMIT 'trx_13';
XA START 'trx_14';
ERROR XAE08: XAER_DUPID: The XID already exists
XA COMMIT 'trx_14';
XA START 'trx_15';
ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_15';
XA START 'trx_16';
ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_16';
XA START 'trx_17';
ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_17';
XA START 'trx_18';
ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_18';
XA START 'trx_19';
ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_19';
SELECT * FROM t;
a
100
5
6
7
8
9
10
11
12
13
14
0
1
2
3
4
5
6
7
8
9
5
6
7
8
9
10
11
12
13
14
0
1
2
3
4
5
6
7
8
9
disconnect conn2tmp;
disconnect conn3tmp;
disconnect conn2ro;
disconnect conn3ro;
disconnect conn2empty;
disconnect conn3empty;
connection default;
XA ROLLBACK 'trx_20';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn19;
connection default;
XA ROLLBACK 'trx_19';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn18;
connection default;
XA ROLLBACK 'trx_18';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn17;
connection default;
XA ROLLBACK 'trx_17';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn16;
connection default;
XA ROLLBACK 'trx_16';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn15;
connection default;
XA ROLLBACK 'trx_15';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn14;
connection default;
XA ROLLBACK 'trx_14';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn13;
connection default;
XA ROLLBACK 'trx_13';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn12;
connection default;
XA ROLLBACK 'trx_12';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn11;
connection default;
XA ROLLBACK 'trx_11';
ERROR XAE04: XAER_NOTA: Unknown XID
disconnect conn10;
connection default;
XA START 'one_phase_trx_0';
INSERT INTO t SET a=0;
XA END 'one_phase_trx_0';
XA COMMIT 'one_phase_trx_0' ONE PHASE;
XA START 'one_phase_trx_1';
INSERT INTO t SET a=1;
XA END 'one_phase_trx_1';
XA COMMIT 'one_phase_trx_1' ONE PHASE;
XA START 'one_phase_trx_2';
INSERT INTO t SET a=2;
XA END 'one_phase_trx_2';
XA COMMIT 'one_phase_trx_2' ONE PHASE;
XA START 'one_phase_trx_3';
INSERT INTO t SET a=3;
XA END 'one_phase_trx_3';
XA COMMIT 'one_phase_trx_3' ONE PHASE;
XA START 'one_phase_trx_4';
INSERT INTO t SET a=4;
XA END 'one_phase_trx_4';
XA COMMIT 'one_phase_trx_4' ONE PHASE;
SELECT SUM(a) FROM t;
SUM(a)
390
DROP TABLE t;
DROP VIEW v_processlist;
include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_processlist` AS SELECT * FROM performance_schema.threads where type = 'FOREGROUND'
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_utf8mb4'Found 10 prepared XA transactions' COLLATE 'utf8mb4_uca1400_ai_ci'))
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t (a INT) ENGINE=innodb
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t VALUES(100)
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Gtid # # XA START X'7472785f30',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=0
master-bin.000001 # Query # # XA END X'7472785f30',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f30',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f31',X'',1 GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t SET a=1
master-bin.000001 # Table_map # # table_id: # (test.t)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # XA END X'7472785f31',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f31',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f32',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=2
master-bin.000001 # Query # # XA END X'7472785f32',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f32',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f33',X'',1 GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t SET a=3
master-bin.000001 # Table_map # # table_id: # (test.t)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # XA END X'7472785f33',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f33',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f34',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=4
master-bin.000001 # Query # # XA END X'7472785f34',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f34',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f35',X'',1 GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t SET a=5
master-bin.000001 # Table_map # # table_id: # (test.t)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # XA END X'7472785f35',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f35',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f36',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=6
master-bin.000001 # Query # # XA END X'7472785f36',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f36',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f37',X'',1 GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t SET a=7
master-bin.000001 # Table_map # # table_id: # (test.t)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # XA END X'7472785f37',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f37',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f38',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=8
master-bin.000001 # Query # # XA END X'7472785f38',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f38',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f39',X'',1 GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t SET a=9
master-bin.000001 # Table_map # # table_id: # (test.t)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # XA END X'7472785f39',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f39',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f3130',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=10
master-bin.000001 # Query # # XA END X'7472785f3130',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f3130',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f3131',X'',1 GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t SET a=11
master-bin.000001 # Table_map # # table_id: # (test.t)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # XA END X'7472785f3131',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f3131',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f3132',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=12
master-bin.000001 # Query # # XA END X'7472785f3132',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f3132',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f3133',X'',1 GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t SET a=13
master-bin.000001 # Table_map # # table_id: # (test.t)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # XA END X'7472785f3133',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f3133',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f3134',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=14
master-bin.000001 # Query # # XA END X'7472785f3134',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f3134',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f3135',X'',1 GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t SET a=15
master-bin.000001 # Table_map # # table_id: # (test.t)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # XA END X'7472785f3135',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f3135',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f3136',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=16
master-bin.000001 # Query # # XA END X'7472785f3136',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f3136',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f3137',X'',1 GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t SET a=17
master-bin.000001 # Table_map # # table_id: # (test.t)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # XA END X'7472785f3137',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f3137',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f3138',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=18
master-bin.000001 # Query # # XA END X'7472785f3138',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f3138',X'',1
master-bin.000001 # Gtid # # XA START X'7472785f3139',X'',1 GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t SET a=19
master-bin.000001 # Table_map # # table_id: # (test.t)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # XA END X'7472785f3139',X'',1
master-bin.000001 # XA_prepare # # XA PREPARE X'7472785f3139',X'',1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # XA ROLLBACK X'7472785f30',X'',1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # XA ROLLBACK X'7472785f31',X'',1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # XA ROLLBACK X'7472785f32',X'',1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # XA ROLLBACK X'7472785f33',X'',1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # XA ROLLBACK X'7472785f34',X'',1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # XA COMMIT X'7472785f35',X'',1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # XA COMMIT X'7472785f36',X'',1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # XA COMMIT X'7472785f37',X'',1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # XA COMMIT X'7472785f38',X'',1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # XA COMMIT X'7472785f39',X'',1
master-bin.000001 # Stop # #
All transactions must be completed, to empty-list the following:
XA RECOVER;
formatID gtrid_length bqual_length data
XA RECOVER;
formatID gtrid_length bqual_length data