Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
MDEV-29142 : Assertion `!_current_thd()' failed in void destroy_backg…
…round_thd(THD*) In test user has set WSREP_ON=OFF this causes streaming replication recovery to fail and this caused call to unireg_abort(). However, this call is not necessary and we can let transaction to fail. Naturally, if real user does this he needs to bootstrap his cluster.
- Loading branch information
Jan Lindström
committed
Oct 9, 2022
1 parent
5f26f50
commit 7be82a1
Showing
3 changed files
with
121 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| connection node_2; | ||
| connection node_1; | ||
| connection node_1; | ||
| connection node_2; | ||
| connection node_1; | ||
| call mtr.add_suppression("WSREP: Event .* Write_rows_v1 apply failed:.*"); | ||
| call mtr.add_suppression("WSREP: Failed to apply write set:.*"); | ||
| connection node_2; | ||
| call mtr.add_suppression("WSREP: Failed to open table mysql.wsrep_streaming_log for writing"); | ||
| call mtr.add_suppression("WSREP: Failed to open SR table for write"); | ||
| call mtr.add_suppression("WSREP: Failed to recover SR transactions from schema: wsrep_on : 0"); | ||
| SET @@global.tx_read_only = ON; | ||
| SET default_storage_engine = SEQUENCE; | ||
| create table t1 (c1 int); | ||
| ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") | ||
| CREATE TABLE t1(c1 VARCHAR(20)) engine=innodb; | ||
| INSERT INTO t1 VALUES(0xA9B8); | ||
| create TABLE t1 (c1 int) engine=innodb; | ||
| ERROR 42S01: Table 't1' already exists | ||
| create TABLE t1 (c1 int) engine=innodb; | ||
| ERROR 42S01: Table 't1' already exists | ||
| SET GLOBAL wsrep_on=OFF; | ||
| SET GLOBAL wsrep_cluster_address='gcomm://'; | ||
| INSERT INTO t1 VALUES (1); | ||
| SELECT 1; | ||
| 1 | ||
| 1 | ||
| SELECT 1; | ||
| 1 | ||
| 1 | ||
| COMMIT; | ||
| # Killing cluster because we have messed with wsrep_cluster_address | ||
| connection node_2; | ||
| SET SESSION wsrep_sync_wait = 0; | ||
| Killing server ... | ||
| connection node_1; | ||
| SET SESSION wsrep_sync_wait = 0; | ||
| Killing server ... | ||
| connection node_2; | ||
| call mtr.add_suppression("WSREP: Failed to open table mysql.wsrep_streaming_log for writing"); | ||
| call mtr.add_suppression("WSREP: Failed to open SR table for write"); | ||
| call mtr.add_suppression("WSREP: Failed to recover SR transactions from schema: wsrep_on : 0"); | ||
| DROP TABLE IF EXISTS t1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| --source include/galera_cluster.inc | ||
| --source include/have_sequence.inc | ||
| --source include/force_restart.inc | ||
|
|
||
| # Save original auto_increment_offset values. | ||
| --let $node_1=node_1 | ||
| --let $node_2=node_2 | ||
| --source include/auto_increment_offset_save.inc | ||
|
|
||
| --connection node_1 | ||
| call mtr.add_suppression("WSREP: Event .* Write_rows_v1 apply failed:.*"); | ||
| call mtr.add_suppression("WSREP: Failed to apply write set:.*"); | ||
|
|
||
| --connection node_2 | ||
| call mtr.add_suppression("WSREP: Failed to open table mysql.wsrep_streaming_log for writing"); | ||
| call mtr.add_suppression("WSREP: Failed to open SR table for write"); | ||
| call mtr.add_suppression("WSREP: Failed to recover SR transactions from schema: wsrep_on : 0"); | ||
|
|
||
| SET @@global.tx_read_only = ON; | ||
| --error 0,1286 | ||
| SET default_storage_engine = SEQUENCE; | ||
| --error 1005 | ||
| create table t1 (c1 int); | ||
| CREATE TABLE t1(c1 VARCHAR(20)) engine=innodb; | ||
| INSERT INTO t1 VALUES(0xA9B8); | ||
| --error 1050 | ||
| create TABLE t1 (c1 int) engine=innodb; | ||
| --error 1050 | ||
| create TABLE t1 (c1 int) engine=innodb; | ||
| --let $wsrep_cluster_address_saved = `SELECT @@global.wsrep_cluster_address` | ||
| SET GLOBAL wsrep_on=OFF; | ||
| SET GLOBAL wsrep_cluster_address='gcomm://'; | ||
| INSERT INTO t1 VALUES (1); | ||
| SELECT 1; | ||
| SELECT 1; | ||
| COMMIT; | ||
|
|
||
| # | ||
| # Kill the entire cluster and restart | ||
| # | ||
| --echo # Killing cluster because we have messed with wsrep_cluster_address | ||
| --connection node_2 | ||
| SET SESSION wsrep_sync_wait = 0; | ||
| --source include/kill_galera.inc | ||
|
|
||
| --connection node_1 | ||
| SET SESSION wsrep_sync_wait = 0; | ||
| --source include/kill_galera.inc | ||
|
|
||
| --remove_file $MYSQLTEST_VARDIR/mysqld.1/data/grastate.dat | ||
| --let $start_mysqld_params = "--wsrep-new-cluster" | ||
| --let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect | ||
| --source include/start_mysqld.inc | ||
|
|
||
| --connection node_2 | ||
| --let $start_mysqld_params = "" | ||
| --let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect | ||
| --source include/start_mysqld.inc | ||
|
|
||
| call mtr.add_suppression("WSREP: Failed to open table mysql.wsrep_streaming_log for writing"); | ||
| call mtr.add_suppression("WSREP: Failed to open SR table for write"); | ||
| call mtr.add_suppression("WSREP: Failed to recover SR transactions from schema: wsrep_on : 0"); | ||
|
|
||
| # | ||
| # Cleanup | ||
| # | ||
| --source ../../galera/include/auto_increment_offset_restore.inc | ||
| # We killed cluster, it might mean that table does not exists | ||
| --disable_warnings | ||
| DROP TABLE IF EXISTS t1; | ||
| --enable_warnings |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters