polardbxengine/mysql-test/suite/xcluster/r/recovery_apply_binlog.result

284 lines
7.1 KiB
Plaintext

show variables like "recovery_apply_binlog";
Variable_name Value
recovery_apply_binlog ON
#
# DDL crash and recovery
#
set debug = 'd, crash_commit_before_log';
create table t(id int);
ERROR HY000: Lost connection to MySQL server during query
show tables;
Tables_in_test
set debug = 'd, crash_before_large_trx_commit_early';
create table t(id int);
ERROR HY000: Lost connection to MySQL server during query
show tables;
Tables_in_test
t
#
# Normal DML (1000) crash and recovery
#
set debug = 'd, crash_commit_before_log';
insert into t values (1000);
ERROR HY000: Lost connection to MySQL server during query
set debug = 'd, crash_before_flush_binlog';
insert into t values (1001);
ERROR HY000: Lost connection to MySQL server during query
set debug = 'd, crash_before_large_trx_commit_early';
insert into t values (1002);
ERROR HY000: Lost connection to MySQL server during query
select * from t;
id
1002
#
# Xa Prepare crash and Rollback after recovery(2000)
#
xa begin '2001';
insert into t values (2001);
xa end '2001';
set debug = 'd, crash_commit_before_log';
xa prepare '2001';
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
xa begin '2002';
insert into t values (2002);
xa end '2002';
set debug = 'd, crash_before_large_trx_commit_early';
xa prepare '2002';
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
1 4 0 2002
xa rollback '2002';
select * from t;
id
1002
#
# Xa Prepare crash and Commit after recovery(2000)
#
xa begin '3001';
insert into t values (3001);
xa end '3001';
set debug = 'd, crash_commit_before_log';
xa prepare '3001';
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
xa begin '3002';
insert into t values (3002);
xa end '3002';
set debug = 'd, crash_before_large_trx_commit_early';
xa prepare '3002';
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
1 4 0 3002
xa commit '3002';
select * from t;
id
1002
3002
#
# Xa Commit crash and recovery (4000)
#
xa begin '4001';
insert into t values (4001);
xa end '4001';
xa prepare '4001';
set debug = 'd, crash_commit_before_log';
xa commit '4001';
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
1 4 0 4001
set debug = 'd, crash_before_large_trx_commit_early';
xa commit '4001';
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
select * from t;
id
1002
3002
4001
#
# Xa Rollback crash and recovery (5000)
#
xa begin '5001';
insert into t values (5001);
xa end '5001';
xa prepare '5001';
set debug = 'd, crash_commit_before_log';
xa rollback '5001';
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
1 4 0 5001
set debug = 'd, crash_before_large_trx_commit_early';
xa rollback '5001';
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
select * from t;
id
1002
3002
4001
#
# Crash happened on XA COMMIT ONE PHASE (5500)
#
xa begin '5501';
insert into t values (5501);
xa end '5501';
set debug = 'd, crash_commit_before_log';
XA COMMIT "5501" ONE PHASE;
ERROR HY000: Lost connection to MySQL server during query
xa begin '5502';
insert into t values (5502);
xa end '5502';
set debug = 'd, crash_before_large_trx_commit_early';
XA COMMIT "5502" ONE PHASE;
ERROR HY000: Lost connection to MySQL server during query
select * from t;
id
1002
3002
4001
5502
#
# Xa with binlog And DDL Crash (6000)
#
create table t1(id int);
create table t2(id int);
flush logs;
xa begin '6001';
insert into t1 values (6001);
xa end '6001';
SET DEBUG_SYNC= 'sync_before_commit_stage_in_order_commit WAIT_FOR no_signal';
xa prepare '6001';
create table t3(id int);
xa begin '6002';
insert into t2 values (6002);
xa end '6002';
SET DEBUG_SYNC= 'sync_before_commit_stage_in_order_commit WAIT_FOR no_signal';
xa prepare '6002';
set debug = 'd, crash_before_large_trx_commit_early';
drop table t3;
ERROR HY000: Lost connection to MySQL server during query
ERROR HY000: Lost connection to MySQL server during query
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
1 4 0 6002
1 4 0 6001
SET DEBUG_SYNC= 'sync_before_commit_stage_in_order_commit WAIT_FOR no_signal';
xa commit '6001';
SET DEBUG_SYNC= 'sync_before_commit_stage_in_order_commit WAIT_FOR no_signal';
xa commit '6002';
create table t3(id int);
set debug = 'd, crash_before_large_trx_commit_early';
drop table t3;
ERROR HY000: Lost connection to MySQL server during query
show tables;
Tables_in_test
t
t1
t2
#
# Xa And DML Crash (7000)
#
xa begin '7001';
insert into t1 values (7001);
xa end '7001';
SET DEBUG_SYNC= 'sync_before_commit_stage_in_order_commit WAIT_FOR no_signal';
xa prepare '7001';
xa begin '7002';
insert into t2 values (7002);
xa end '7002';
SET DEBUG_SYNC= 'sync_before_commit_stage_in_order_commit WAIT_FOR no_signal';
xa prepare '7002';
insert into t1 values (7003);
insert into t2 values (7003);
set debug = 'd, crash_commit_before_log';
insert into t2 values (7004);
ERROR HY000: Lost connection to MySQL server during query
ERROR HY000: Lost connection to MySQL server during query
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
1 4 0 7002
1 4 0 7001
SET DEBUG_SYNC= 'sync_before_commit_stage_in_order_commit WAIT_FOR no_signal';
xa commit '7001';
SET DEBUG_SYNC= 'sync_before_commit_stage_in_order_commit WAIT_FOR no_signal';
xa commit '7002';
insert into t1 values (7005);
insert into t2 values (7005);
set debug = 'd, crash_commit_before_log';
insert into t2 values (7006);
ERROR HY000: Lost connection to MySQL server during query
ERROR HY000: Lost connection to MySQL server during query
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
select * from t1;
id
6001
7003
7001
7005
select * from t2;
id
6002
7003
7002
7005
#
# Follower apply xa prapare Crash (8000)
#
set global debug = 'd, crash_after_update_pos_before_apply';
stop xpaxos_replication;
start xpaxos_replication;
xa begin '8001';
insert into t1 values (8001);
xa end '8001';
xa prepare '8001';
xa recover;
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
1 4 0 8001
xa commit '8001';
set global debug = 'd, crash_after_do_commit_for_xa_prepare_in_mts';
stop xpaxos_replication;
start xpaxos_replication;
xa begin '8002';
insert into t1 values (8002);
xa end '8002';
xa prepare '8002';
xa recover;
ERROR HY000: Lost connection to MySQL server during query
xa recover;
formatID gtrid_length bqual_length data
1 4 0 8002
xa commit '8002';
delete from t1;
#
# Follower apply xa commit Crash (9000)
#
xa begin '9001';
insert into t1 values (9001);
xa end '9001';
xa prepare '9001';
set global debug = 'd, crash_on_external_xa_commit';
stop xpaxos_replication;
start xpaxos_replication;
xa commit '9001';
select * from t1;
ERROR HY000: Lost connection to MySQL server during query
select * from t1;
id
9001
drop table t, t1, t2;