mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge branch 10.4 into 10.5
This commit is contained in:
@@ -13,13 +13,10 @@
|
||||
galera_as_slave_ctas : MDEV-28378 timeout
|
||||
galera_pc_recovery : MDEV-25199 cluster fails to start up
|
||||
galera_sequences : MDEV-32561 WSREP FSM failure: no such a transition REPLICATING -> COMMITTED
|
||||
versioning_trx_id : MDEV-18590 : galera.versioning_trx_id: Test failure: mysqltest: Result content mismatch
|
||||
galera_concurrent_ctas : MDEV-32779 galera_concurrent_ctas: assertion in the galera::ReplicatorSMM::finish_cert()
|
||||
galera_as_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
|
||||
galera_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
|
||||
galera_sst_mysqldump_with_key : MDEV-32782 galera_sst_mysqldump_with_key test failed
|
||||
galera_var_ignore_apply_errors : MENT-1997 galera_var_ignore_apply_errors test freezes
|
||||
MDEV-22232 : temporarily disabled at the request of Codership
|
||||
MW-402 : temporarily disabled at the request of Codership
|
||||
galera_desync_overlapped : MDEV-21538 galera_desync_overlapped MTR failed: Result content mismatch
|
||||
galera_create_table_as_select : MDEV-33952 fails sporadically
|
||||
|
@@ -21,6 +21,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#gale
|
||||
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
|
||||
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
|
||||
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
|
||||
auto-increment-offset=1
|
||||
|
||||
[mysqld.2]
|
||||
wsrep-on=1
|
||||
@@ -32,6 +33,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#gale
|
||||
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
|
||||
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
|
||||
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
|
||||
auto-increment-offset=2
|
||||
|
||||
[mysqld.3]
|
||||
wsrep-on=1
|
||||
@@ -43,6 +45,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#gale
|
||||
wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port'
|
||||
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
|
||||
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
|
||||
auto-increment-offset=3
|
||||
|
||||
[mysqld.4]
|
||||
wsrep-on=1
|
||||
@@ -54,6 +57,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.4.#gale
|
||||
wsrep_node_address='127.0.0.1:@mysqld.4.#galera_port'
|
||||
wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
|
||||
wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
|
||||
auto-increment-offset=4
|
||||
|
||||
[ENV]
|
||||
NODE_MYPORT_1= @mysqld.1.port
|
||||
|
@@ -16,17 +16,15 @@ connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
connection node_1;
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
connection node_1a;
|
||||
SET SESSION DEBUG_SYNC = "RESET";
|
||||
connection node_2;
|
||||
SELECT * FROM p;
|
||||
id f2
|
||||
|
@@ -12,22 +12,20 @@ START TRANSACTION;
|
||||
DELETE FROM p WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
INSERT INTO c VALUES (1, 1);
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
connection node_2;
|
||||
@@ -54,22 +52,20 @@ START TRANSACTION;
|
||||
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
UPDATE c SET f2 = 1 WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
connection node_2;
|
||||
SELECT * FROM p;
|
||||
@@ -94,22 +90,20 @@ START TRANSACTION;
|
||||
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
DELETE FROM c WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
connection node_2;
|
||||
SELECT * FROM p;
|
||||
@@ -130,22 +124,20 @@ START TRANSACTION;
|
||||
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
INSERT INTO c VALUES (1, 0);;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
connection node_2;
|
||||
@@ -170,22 +162,20 @@ START TRANSACTION;
|
||||
DELETE FROM p WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
UPDATE c SET f2 = 1 WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
connection node_2;
|
||||
@@ -215,22 +205,20 @@ START TRANSACTION;
|
||||
INSERT INTO cf (f1, p_id) VALUES (10, 1);
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
INSERT INTO cf (f1, p_id) VALUES (20, 1);
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
connection node_2;
|
||||
SELECT * FROM pf;
|
||||
@@ -255,22 +243,20 @@ START TRANSACTION;
|
||||
UPDATE pg SET f2 = 1 WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
INSERT INTO cg VALUES (1, 1, 0);
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
connection node_2;
|
||||
SELECT * FROM pg;
|
||||
|
@@ -15,22 +15,20 @@ START TRANSACTION;
|
||||
UPDATE c SET f2=1 where f1=1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
DELETE FROM p WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
connection node_2;
|
||||
@@ -55,22 +53,20 @@ START TRANSACTION;
|
||||
UPDATE c SET f2=2 where f1=1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
UPDATE p set f1=11 WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
connection node_2;
|
||||
@@ -97,22 +93,20 @@ START TRANSACTION;
|
||||
UPDATE c SET p_id=2 where f1=1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
UPDATE p set f1=11 WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
connection node_2;
|
||||
@@ -130,22 +124,20 @@ START TRANSACTION;
|
||||
UPDATE p set f1=21 WHERE f1 = 11;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
UPDATE c SET p_id=2 where f1=1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
connection node_2;
|
||||
@@ -176,22 +168,20 @@ START TRANSACTION;
|
||||
UPDATE p2 SET f2=2 where f1=1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
DELETE FROM p1 WHERE f1 = 1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
connection node_2;
|
||||
SELECT * FROM p1;
|
||||
@@ -223,22 +213,20 @@ START TRANSACTION;
|
||||
DELETE FROM p2 WHERE f1=1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
connection node_2;
|
||||
DELETE FROM p1 WHERE f1=1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
connection node_1;
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
connection node_2;
|
||||
|
@@ -21,14 +21,10 @@ connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
connection node_1;
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
@@ -64,14 +60,10 @@ connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
connection node_1;
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
@@ -112,14 +104,10 @@ connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
||||
connection node_1;
|
||||
COMMIT;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_on = 0;
|
||||
SET SESSION wsrep_on = 1;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||
connection node_1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
|
@@ -17,7 +17,7 @@ a
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
||||
count(*)
|
||||
0
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
|
||||
count(*)
|
||||
0
|
||||
connection node_3;
|
||||
@@ -34,7 +34,7 @@ a
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
||||
count(*)
|
||||
0
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
|
||||
count(*)
|
||||
0
|
||||
connection node_1;
|
||||
@@ -50,7 +50,7 @@ a
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
||||
count(*)
|
||||
0
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
|
||||
count(*)
|
||||
0
|
||||
drop table t1;
|
||||
|
@@ -17,7 +17,7 @@
|
||||
# We use concurrency facility of test MW-369 to setup the conflict between DDL and DML
|
||||
#
|
||||
|
||||
# Open connection node_1a here, MW-369.inc will use it later
|
||||
# Open connection node_1a here, we will use it later
|
||||
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
|
||||
# create FK parent table
|
||||
@@ -28,14 +28,51 @@ CREATE TABLE p (id INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
|
||||
--let $mw_369_parent_query = INSERT INTO p VALUES(1,0)
|
||||
--let $mw_369_child_query = CREATE TABLE c(id INT NOT NULL PRIMARY KEY, p_id INT, FOREIGN KEY (p_id) REFERENCES p(id) ON DELETE CASCADE) ENGINE=InnoDB
|
||||
|
||||
# execute above queries through separate nodes
|
||||
--source MW-369.inc
|
||||
--connection node_1
|
||||
SET AUTOCOMMIT=ON;
|
||||
START TRANSACTION;
|
||||
--eval $mw_369_parent_query
|
||||
|
||||
#
|
||||
# Block the $mw_369_child_query from node_2
|
||||
#
|
||||
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
--connection node_1a
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync
|
||||
--source include/galera_set_sync_point.inc
|
||||
|
||||
#
|
||||
# insert client row, which will make it impossible to replay the
|
||||
# delete on parent
|
||||
#
|
||||
--connection node_2
|
||||
--eval $mw_369_child_query
|
||||
|
||||
#
|
||||
# Wait until $mw_369_child_query from node_2 reaches the sync point and
|
||||
# block the 'COMMIT' from node_1 before it certifies.
|
||||
#
|
||||
--connection node_1a
|
||||
--source include/galera_wait_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
|
||||
--connection node_1
|
||||
--send COMMIT
|
||||
|
||||
--connection node_1a
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync
|
||||
--source include/galera_signal_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
|
||||
# Expect certification failure
|
||||
--connection node_1
|
||||
--error ER_LOCK_DEADLOCK
|
||||
--reap
|
||||
|
||||
--connection node_1a
|
||||
SET SESSION DEBUG_SYNC = "RESET";
|
||||
|
||||
--connection node_2
|
||||
SELECT * FROM p;
|
||||
SELECT * FROM c;
|
||||
|
@@ -12,9 +12,9 @@
|
||||
# START TRANSACTION;
|
||||
# $mw_369_parent_query
|
||||
# node_2
|
||||
# $mw_369_child_query - will be blocked on node_1 in apply monitor
|
||||
# $mw_369_child_query - will be blocked on node_1 in wsrep_apply_cb
|
||||
# node_1:
|
||||
# COMMIT; - will be blocked on node_1 in local monitor
|
||||
# COMMIT; - will be blocked on node_1 in wsrep_after_certification
|
||||
#
|
||||
# The $mw_369_child_query is always expected to succeed. The caller is
|
||||
# responsible for checking if the final COMMIT on connection node_1
|
||||
@@ -32,8 +32,7 @@ START TRANSACTION;
|
||||
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
--connection node_1a
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync
|
||||
--source include/galera_set_sync_point.inc
|
||||
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||
|
||||
#
|
||||
# insert client row, which will make it impossible to replay the
|
||||
@@ -47,28 +46,37 @@ SET SESSION wsrep_sync_wait = 0;
|
||||
# block the 'COMMIT' from node_1 before it certifies.
|
||||
#
|
||||
--connection node_1a
|
||||
--source include/galera_wait_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
|
||||
--let $galera_sync_point = local_monitor_master_enter_sync
|
||||
--source include/galera_set_sync_point.inc
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||
|
||||
--connection node_1
|
||||
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||
--send COMMIT
|
||||
|
||||
#
|
||||
# Wait until both sync points have been reached
|
||||
#
|
||||
--connection node_1a
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync local_monitor_master_enter_sync
|
||||
--source include/galera_wait_sync_point.inc
|
||||
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||
|
||||
#
|
||||
# both threads are now parked in sync points, signal them to continue
|
||||
#
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync
|
||||
--source include/galera_signal_sync_point.inc
|
||||
|
||||
--let $galera_sync_point = local_monitor_master_enter_sync
|
||||
--source include/galera_signal_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'debug sync point:%'
|
||||
--let $wait_condition_on_error_output = SELECT STATE FROM INFORMATION_SCHEMA.PROCESSLIST
|
||||
--source include/wait_condition_with_debug.inc
|
||||
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||
|
||||
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'debug sync point:%'
|
||||
--let $wait_condition_on_error_output = SELECT STATE FROM INFORMATION_SCHEMA.PROCESSLIST
|
||||
--source include/wait_condition_with_debug.inc
|
||||
|
||||
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||
|
||||
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'debug sync point:%'
|
||||
--let $wait_condition_on_error_output = SELECT STATE FROM INFORMATION_SCHEMA.PROCESSLIST
|
||||
--source include/wait_condition_with_debug.inc
|
||||
|
||||
SET GLOBAL DEBUG_DBUG = "";
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
|
@@ -24,7 +24,6 @@
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug_sync.inc
|
||||
--source include/galera_have_debug_sync.inc
|
||||
|
||||
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
|
||||
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
|
||||
|
@@ -3,7 +3,7 @@
|
||||
--source include/have_debug_sync.inc
|
||||
--source include/galera_have_debug_sync.inc
|
||||
|
||||
# Open connection node_1a here, MW-369.inc will use it later
|
||||
# Open connection node_1a here, will use it later
|
||||
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
|
||||
#
|
||||
@@ -27,7 +27,42 @@ INSERT INTO c VALUES (2, 2);
|
||||
--let $mw_369_parent_query = UPDATE p SET f1 = f1 + 100
|
||||
--let $mw_369_child_query = ALTER TABLE c ADD FOREIGN KEY (p_id) REFERENCES p(f1)
|
||||
|
||||
--source MW-369.inc
|
||||
--connection node_1
|
||||
SET AUTOCOMMIT=ON;
|
||||
START TRANSACTION;
|
||||
--eval $mw_369_parent_query
|
||||
|
||||
#
|
||||
# Block the $mw_369_child_query from node_2
|
||||
#
|
||||
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
--connection node_1a
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync
|
||||
--source include/galera_set_sync_point.inc
|
||||
|
||||
#
|
||||
# insert client row, which will make it impossible to replay the
|
||||
# delete on parent
|
||||
#
|
||||
--connection node_2
|
||||
--eval $mw_369_child_query
|
||||
|
||||
#
|
||||
# Wait until $mw_369_child_query from node_2 reaches the sync point and
|
||||
# block the 'COMMIT' from node_1 before it certifies.
|
||||
#
|
||||
--connection node_1a
|
||||
--source include/galera_wait_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
|
||||
--connection node_1
|
||||
--send COMMIT
|
||||
|
||||
--connection node_1a
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync
|
||||
--source include/galera_signal_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
|
||||
# Expect certification failure
|
||||
--connection node_1
|
||||
@@ -62,7 +97,42 @@ INSERT INTO c VALUES (2, 2, 2);
|
||||
--let $mw_369_parent_query = UPDATE p1 SET f1 = f1 + 100
|
||||
--let $mw_369_child_query = ALTER TABLE c ADD FOREIGN KEY (p_id1) REFERENCES p1(f1), ADD FOREIGN KEY (p_id2) REFERENCES p2(f1)
|
||||
|
||||
--source MW-369.inc
|
||||
--connection node_1
|
||||
SET AUTOCOMMIT=ON;
|
||||
START TRANSACTION;
|
||||
--eval $mw_369_parent_query
|
||||
|
||||
#
|
||||
# Block the $mw_369_child_query from node_2
|
||||
#
|
||||
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
--connection node_1a
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync
|
||||
--source include/galera_set_sync_point.inc
|
||||
|
||||
#
|
||||
# insert client row, which will make it impossible to replay the
|
||||
# delete on parent
|
||||
#
|
||||
--connection node_2
|
||||
--eval $mw_369_child_query
|
||||
|
||||
#
|
||||
# Wait until $mw_369_child_query from node_2 reaches the sync point and
|
||||
# block the 'COMMIT' from node_1 before it certifies.
|
||||
#
|
||||
--connection node_1a
|
||||
--source include/galera_wait_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
|
||||
--connection node_1
|
||||
--send COMMIT
|
||||
|
||||
--connection node_1a
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync
|
||||
--source include/galera_signal_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
|
||||
# Expect certification failure
|
||||
--connection node_1
|
||||
@@ -96,7 +166,42 @@ INSERT INTO c VALUES (2, 2, 2);
|
||||
--let $mw_369_parent_query = UPDATE p2 SET f1 = f1 + 100
|
||||
--let $mw_369_child_query = ALTER TABLE c ADD FOREIGN KEY (p_id1) REFERENCES p1(f1), ADD FOREIGN KEY (p_id2) REFERENCES p2(f1)
|
||||
|
||||
--source MW-369.inc
|
||||
--connection node_1
|
||||
SET AUTOCOMMIT=ON;
|
||||
START TRANSACTION;
|
||||
--eval $mw_369_parent_query
|
||||
|
||||
#
|
||||
# Block the $mw_369_child_query from node_2
|
||||
#
|
||||
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
--connection node_1a
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync
|
||||
--source include/galera_set_sync_point.inc
|
||||
|
||||
#
|
||||
# insert client row, which will make it impossible to replay the
|
||||
# delete on parent
|
||||
#
|
||||
--connection node_2
|
||||
--eval $mw_369_child_query
|
||||
|
||||
#
|
||||
# Wait until $mw_369_child_query from node_2 reaches the sync point and
|
||||
# block the 'COMMIT' from node_1 before it certifies.
|
||||
#
|
||||
--connection node_1a
|
||||
--source include/galera_wait_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
|
||||
--connection node_1
|
||||
--send COMMIT
|
||||
|
||||
--connection node_1a
|
||||
--let $galera_sync_point = apply_monitor_slave_enter_sync
|
||||
--source include/galera_signal_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
|
||||
# Expect certification failure
|
||||
--connection node_1
|
||||
|
@@ -13,29 +13,29 @@ set session wsrep_sync_wait=15;
|
||||
insert into t1 (a) values (3),(4);
|
||||
select a from t1;
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
||||
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp`) {
|
||||
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp`) {
|
||||
select * from mysql.transaction_registry;
|
||||
}
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
|
||||
|
||||
--connection node_3
|
||||
set session wsrep_sync_wait=15;
|
||||
insert into t1 (a) values (5),(6);
|
||||
select a from t1;
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
||||
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp`) {
|
||||
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp`) {
|
||||
select * from mysql.transaction_registry;
|
||||
}
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
|
||||
|
||||
--connection node_1
|
||||
set session wsrep_sync_wait=15;
|
||||
select a from t1;
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
||||
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp`) {
|
||||
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp`) {
|
||||
select * from mysql.transaction_registry;
|
||||
}
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
|
||||
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
|
||||
|
||||
drop table t1;
|
||||
|
||||
|
@@ -20,4 +20,12 @@ FLOOR(index_length/@@innodb_page_size)
|
||||
2
|
||||
disconnect stop_purge;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-22855 Assertion (!field->prefix_len ||
|
||||
# field->fixed_len == field->prefix_len)
|
||||
# failed in btr_node_ptr_max_size
|
||||
#
|
||||
CREATE TABLE t1(c CHAR(194) CHARACTER SET UTF32, KEY k1(c(193)))ENGINE=InnoDB;
|
||||
INSERT INTO t1 SET c='';
|
||||
DROP TABLE t1;
|
||||
# End of 10.4 tests
|
||||
|
@@ -20,4 +20,12 @@ WHERE table_schema = 'test' AND table_name = 't1';
|
||||
disconnect stop_purge;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22855 Assertion (!field->prefix_len ||
|
||||
--echo # field->fixed_len == field->prefix_len)
|
||||
--echo # failed in btr_node_ptr_max_size
|
||||
--echo #
|
||||
CREATE TABLE t1(c CHAR(194) CHARACTER SET UTF32, KEY k1(c(193)))ENGINE=InnoDB;
|
||||
INSERT INTO t1 SET c='';
|
||||
DROP TABLE t1;
|
||||
--echo # End of 10.4 tests
|
||||
|
6
mysql-test/suite/mariabackup/encrypted_export.opt
Normal file
6
mysql-test/suite/mariabackup/encrypted_export.opt
Normal file
@@ -0,0 +1,6 @@
|
||||
--innodb_encrypt_tables=1
|
||||
--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
|
||||
--loose-file-key-management
|
||||
--loose-file-key-management-filekey=FILE:$MTR_SUITE_DIR/filekeys-data.key
|
||||
--loose-file-key-management-filename=$MTR_SUITE_DIR/filekeys-data.enc
|
||||
--loose-file-key-management-encryption-algorithm=aes_cbc
|
14
mysql-test/suite/mariabackup/encrypted_export.result
Normal file
14
mysql-test/suite/mariabackup/encrypted_export.result
Normal file
@@ -0,0 +1,14 @@
|
||||
CREATE TABLE t1(c VARCHAR(128)) ENGINE INNODB;
|
||||
insert into t1 values(repeat('a',100));
|
||||
select @@innodb_encrypt_tables;
|
||||
@@innodb_encrypt_tables
|
||||
ON
|
||||
# xtrabackup backup
|
||||
# xtrabackup prepare export
|
||||
# restart
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
DROP TABLE t1;
|
29
mysql-test/suite/mariabackup/encrypted_export.test
Normal file
29
mysql-test/suite/mariabackup/encrypted_export.test
Normal file
@@ -0,0 +1,29 @@
|
||||
--source include/have_file_key_management.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
CREATE TABLE t1(c VARCHAR(128)) ENGINE INNODB;
|
||||
insert into t1 values(repeat('a',100));
|
||||
|
||||
select @@innodb_encrypt_tables;
|
||||
echo # xtrabackup backup;
|
||||
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
|
||||
|
||||
--disable_result_log
|
||||
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
|
||||
--enable_result_log
|
||||
--source include/shutdown_mysqld.inc
|
||||
|
||||
echo # xtrabackup prepare export;
|
||||
--disable_result_log
|
||||
exec $XTRABACKUP --prepare --export --target-dir=$targetdir;
|
||||
--enable_result_log
|
||||
|
||||
--source include/start_mysqld.inc
|
||||
let MYSQLD_DATADIR=`select @@datadir`;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
copy_file $targetdir/test/t1.ibd $MYSQLD_DATADIR/test/t1.ibd;
|
||||
copy_file $targetdir/test/t1.cfg $MYSQLD_DATADIR/test/t1.cfg;
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
DROP TABLE t1;
|
||||
rmdir $targetdir;
|
@@ -11,3 +11,10 @@ undo002
|
||||
undo001
|
||||
undo002
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-33980 mariadb-backup --backup is missing
|
||||
# retry logic for undo tablespaces
|
||||
#
|
||||
# xtrabackup backup
|
||||
# Display undo log files from target directory
|
||||
FOUND 5 /Retrying to read undo tablespace*/ in backup.log
|
||||
|
@@ -23,3 +23,22 @@ list_files $basedir undo*;
|
||||
|
||||
DROP TABLE t1;
|
||||
rmdir $basedir;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-33980 mariadb-backup --backup is missing
|
||||
--echo # retry logic for undo tablespaces
|
||||
--echo #
|
||||
let $backuplog= $MYSQLTEST_VARDIR/tmp/backup.log;
|
||||
--echo # xtrabackup backup
|
||||
--disable_result_log
|
||||
--error 1
|
||||
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir --dbug=+d,undo_space_read_fail > $backuplog;
|
||||
--enable_result_log
|
||||
--echo # Display undo log files from target directory
|
||||
list_files $basedir undo*;
|
||||
|
||||
--let SEARCH_PATTERN=Retrying to read undo tablespace*
|
||||
--let SEARCH_FILE=$backuplog
|
||||
--source include/search_pattern_in_file.inc
|
||||
rmdir $basedir;
|
||||
remove_file $backuplog;
|
||||
|
Reference in New Issue
Block a user