galera mtr tests: synchronization between branches and editions
This commit is contained in:
parent
5003dac220
commit
b983a911e9
@ -95,7 +95,6 @@ id val
|
||||
4 d
|
||||
5 d
|
||||
6 d
|
||||
set global wsrep_mode=default;
|
||||
connection node_1;
|
||||
drop table t1,t2,t3,t4,t5;
|
||||
set global wsrep_mode=default;
|
||||
|
@ -26,3 +26,4 @@ COUNT(*) = 1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
connection node_1;
|
||||
SET GLOBAL wsrep_mode = DEFAULT;
|
||||
|
@ -51,7 +51,7 @@ FOUND 1 /Desyncing and pausing the provider/ in mysqld.2.err
|
||||
FOUND 1 /Resuming and resyncing the provider/ in mysqld.2.err
|
||||
# Should return FOUND 1 because only last backup does not desync
|
||||
FOUND 1 /Server not desynched from group because WSREP_MODE_BF_MARIABACKUP used./ in mysqld.2.err
|
||||
SET GLOBAL wsrep_mode = "";
|
||||
SET GLOBAL wsrep_mode = DEFAULT;
|
||||
connection node_1;
|
||||
DROP TABLE t;
|
||||
disconnect node_2;
|
||||
|
@ -22,7 +22,7 @@ INSERT INTO t1 VALUES (2, "bbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
connection node_1a;
|
||||
SET GLOBAL wsrep_provider_options = 'signal=gcs_core_after_frag_send';
|
||||
connection node_1;
|
||||
ERROR HY000: Got error 6 "No such device or address" during COMMIT
|
||||
ERROR HY000: Error while appending streaming replication fragment(provider status: Not connected to Primary Component)
|
||||
INSERT INTO t1 VALUES (3, "cccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
|
||||
SELECT * FROM t1;
|
||||
f1 f2
|
||||
|
@ -1,6 +1,6 @@
|
||||
connection node_2;
|
||||
connection node_1;
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine partition for table.*");
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled\\. Storage engine partition for table");
|
||||
# wsrep-mode= DEFAULT
|
||||
SET GLOBAL wsrep_mode = "";
|
||||
SELECT @@wsrep_mode;
|
||||
|
@ -1,6 +1,6 @@
|
||||
connection node_2;
|
||||
connection node_1;
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine .*");
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled\\. Storage engine ");
|
||||
CREATE TABLE t1(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=INNODB;
|
||||
CREATE TABLE t2(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=MYISAM;
|
||||
CREATE TABLE t3(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=ARIA;
|
||||
|
@ -1,6 +1,6 @@
|
||||
connection node_2;
|
||||
connection node_1;
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table .*");
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled\\. Table ");
|
||||
CREATE TABLE t1(a int, b varchar(50)) ENGINE=INNODB;
|
||||
CREATE TABLE t2(a int, b varchar(50)) ENGINE=MYISAM;
|
||||
CREATE TABLE t3(a int, b varchar(50)) ENGINE=MEMORY;
|
||||
|
@ -4,7 +4,7 @@ create table t1 (id serial, val int) engine=innodb;
|
||||
create table t2 (id serial, val int) engine=aria;
|
||||
insert into t1 values(1, 23);
|
||||
insert into t2 values(2, 42);
|
||||
call mtr.add_suppression("WSREP: Replication of non-transactional engines is experimental. Storage engine Aria for table 'test'.'t2' is not supported in Galera");
|
||||
call mtr.add_suppression("WSREP: Replication of non-transactional engines is experimental\\. Storage engine Aria for table 'test'\\.'t2' is not supported in Galera");
|
||||
begin;
|
||||
update t1 set val=24 where id=1;
|
||||
update t2 set val=41 where id=2;
|
||||
|
@ -10,6 +10,7 @@
|
||||
# transaction in the MDL conflict handling code.
|
||||
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug_sync.inc
|
||||
--source include/have_debug.inc
|
||||
|
||||
|
@ -45,7 +45,6 @@ select * from t2;
|
||||
select * from t3;
|
||||
select * from t4;
|
||||
select * from t5;
|
||||
set global wsrep_mode=default;
|
||||
|
||||
--connection node_1
|
||||
drop table t1,t2,t3,t4,t5;
|
||||
|
@ -1,4 +1,5 @@
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--echo # On node_1
|
||||
--connection node_1
|
||||
|
@ -1,4 +1,5 @@
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_aria.inc
|
||||
|
||||
#
|
||||
@ -35,7 +36,4 @@ SELECT COUNT(*) = 1 FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--connection node_1
|
||||
--disable_query_log
|
||||
SET GLOBAL wsrep_mode = DEFAULT;
|
||||
--enable_query_log
|
||||
|
||||
|
@ -6,10 +6,10 @@ wsrep_sst_auth="root:"
|
||||
wsrep_debug=1
|
||||
|
||||
[mysqld.1]
|
||||
wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
|
||||
wsrep_provider_options='pc.ignore_sb=true;repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=1'
|
||||
|
||||
[mysqld.2]
|
||||
wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
|
||||
wsrep_provider_options='pc.ignore_sb=true;repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=1'
|
||||
|
||||
[sst]
|
||||
transferfmt=@ENV.MTR_GALERA_TFMT
|
||||
|
@ -126,7 +126,7 @@ let SEARCH_PATTERN = Resuming and resyncing the provider;
|
||||
let SEARCH_PATTERN = Server not desynched from group because WSREP_MODE_BF_MARIABACKUP used.;
|
||||
--source include/search_pattern_in_file.inc
|
||||
|
||||
SET GLOBAL wsrep_mode = "";
|
||||
SET GLOBAL wsrep_mode = DEFAULT;
|
||||
|
||||
--connection node_1
|
||||
DROP TABLE t;
|
||||
|
@ -89,7 +89,7 @@ SET DEBUG_SYNC = "now SIGNAL continue_kill";
|
||||
--reap
|
||||
|
||||
--connection node_2a
|
||||
--error 0,1213,2013
|
||||
--error 0,1213,2013,2026
|
||||
select * from t1;
|
||||
|
||||
--connection node_2b
|
||||
@ -130,7 +130,7 @@ SET DEBUG_SYNC = "now WAIT_FOR bwoc_reached";
|
||||
|
||||
SET DEBUG_SYNC = "now SIGNAL bwoc_continue";
|
||||
--connection node_2a
|
||||
--error 0,1213
|
||||
--error 0,1213,2013,2026
|
||||
--reap
|
||||
|
||||
--connection node_2
|
||||
|
@ -101,4 +101,3 @@ DROP TABLE tab;
|
||||
DROP TABLE tab1;
|
||||
DROP TABLE tab2;
|
||||
DROP TABLE tab3;
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_aria.inc
|
||||
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine partition for table.*");
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled\\. Storage engine partition for table");
|
||||
|
||||
--echo # wsrep-mode= DEFAULT
|
||||
SET GLOBAL wsrep_mode = "";
|
||||
|
@ -15,9 +15,10 @@
|
||||
# In both cases apply flood control if >= 10 same warning
|
||||
#
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_aria.inc
|
||||
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine .*");
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled\\. Storage engine ");
|
||||
|
||||
CREATE TABLE t1(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=INNODB;
|
||||
CREATE TABLE t2(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=MYISAM;
|
||||
@ -114,4 +115,3 @@ DROP TABLE t1,t2,t3,t4;
|
||||
SET GLOBAL log_warnings=DEFAULT;
|
||||
SET GLOBAL wsrep_mode=DEFAULT;
|
||||
--disable_query_log
|
||||
|
||||
|
@ -14,9 +14,10 @@
|
||||
# In both cases apply flood control if >= 10 same warning
|
||||
#
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_aria.inc
|
||||
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table .*");
|
||||
call mtr.add_suppression("WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled\\. Table ");
|
||||
|
||||
CREATE TABLE t1(a int, b varchar(50)) ENGINE=INNODB;
|
||||
CREATE TABLE t2(a int, b varchar(50)) ENGINE=MYISAM;
|
||||
@ -140,4 +141,3 @@ DROP TABLE t1,t2,t3,t4;
|
||||
SET GLOBAL log_warnings=DEFAULT;
|
||||
SET GLOBAL wsrep_mode=DEFAULT;
|
||||
--disable_query_log
|
||||
|
||||
|
@ -94,11 +94,13 @@ SELECT * FROM t1;
|
||||
--eval SET GLOBAL wsrep_auto_increment_control = $auto_increment_control_orig
|
||||
--eval SET GLOBAL auto_increment_increment = $auto_increment_increment_node1
|
||||
--eval SET GLOBAL auto_increment_offset = $auto_increment_offset_node1
|
||||
--disconnect node_1a
|
||||
|
||||
--connection node_2
|
||||
--eval SET GLOBAL wsrep_auto_increment_control = $auto_increment_control_orig
|
||||
--eval SET GLOBAL auto_increment_increment = $auto_increment_increment_node2
|
||||
--eval SET GLOBAL auto_increment_offset = $auto_increment_offset_node2
|
||||
--disconnect node_2a
|
||||
|
||||
--enable_query_log
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
#
|
||||
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_aria.inc
|
||||
|
||||
CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=Aria;
|
||||
|
@ -234,4 +234,3 @@ SET GLOBAL wsrep_mode = DEFAULT;
|
||||
--connection node_2
|
||||
SET GLOBAL wsrep_mode = DEFAULT;
|
||||
--enable_query_log
|
||||
|
||||
|
@ -57,9 +57,3 @@ SELECT @@wsrep_mode;
|
||||
|
||||
# reset
|
||||
SET GLOBAL wsrep_mode=DEFAULT;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -10,4 +10,3 @@ SELECT @@global.wsrep_strict_ddl;
|
||||
SET @@global.wsrep_strict_ddl=OFF;
|
||||
SELECT @@global.wsrep_mode;
|
||||
SELECT @@global.wsrep_strict_ddl;
|
||||
|
||||
|
@ -91,10 +91,6 @@ CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with
|
||||
|
||||
DROP TABLE t2;
|
||||
|
||||
--let $node_3=node_3
|
||||
--let $auto_increment_offset_node_3 = 3;
|
||||
--let $node_4=node_4
|
||||
--let $auto_increment_offset_node_4 = 4;
|
||||
--source suite/galera/include/auto_increment_offset_restore.inc
|
||||
|
||||
--disconnect node_3
|
||||
|
@ -16,7 +16,6 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL wsrep_mode = default;
|
||||
|
||||
|
||||
# MDEV-25698 SIGSEGV in wsrep_should_replicate_ddl
|
||||
|
||||
SET GLOBAL wsrep_mode = STRICT_REPLICATION;
|
||||
|
@ -1,4 +1,5 @@
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_aria.inc
|
||||
|
||||
create table t1 (id serial, val int) engine=innodb;
|
||||
@ -6,7 +7,8 @@ create table t2 (id serial, val int) engine=aria;
|
||||
|
||||
insert into t1 values(1, 23);
|
||||
insert into t2 values(2, 42);
|
||||
call mtr.add_suppression("WSREP: Replication of non-transactional engines is experimental. Storage engine Aria for table 'test'.'t2' is not supported in Galera");
|
||||
|
||||
call mtr.add_suppression("WSREP: Replication of non-transactional engines is experimental\\. Storage engine Aria for table 'test'\\.'t2' is not supported in Galera");
|
||||
|
||||
begin;
|
||||
update t1 set val=24 where id=1;
|
||||
|
@ -1,4 +1,5 @@
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug.inc
|
||||
--source include/have_debug_sync.inc
|
||||
--source include/big_test.inc
|
||||
|
@ -5,12 +5,12 @@ wsrep_sst_method=rsync
|
||||
|
||||
[mysqld.1]
|
||||
wsrep_node_name='node.1'
|
||||
wsrep_provider_options='base_port=@mysqld.1.#galera_port;socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem;socket.dynamic=true'
|
||||
wsrep_provider_options='socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem;socket.dynamic=true;repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
|
||||
|
||||
[mysqld.2]
|
||||
wsrep_node_name='node.2'
|
||||
wsrep_provider_options='base_port=@mysqld.2.#galera_port'
|
||||
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
|
||||
|
||||
[mysqld.3]
|
||||
wsrep_node_name='node.3'
|
||||
wsrep_provider_options='base_port=@mysqld.3.#galera_port;socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem;socket.dynamic=true'
|
||||
wsrep_provider_options='socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem;socket.dynamic=true;repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
|
||||
|
@ -14,7 +14,6 @@
|
||||
--let $node_3 = node_3
|
||||
--source ../galera/include/auto_increment_offset_save.inc
|
||||
|
||||
|
||||
--connection node_1
|
||||
--let $wait_condition = SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
|
||||
--source include/wait_condition.inc
|
||||
|
@ -45,7 +45,7 @@ SET SESSION wsrep_sync_wait = 0;
|
||||
SET SESSION wsrep_sync_wait = DEFAULT;
|
||||
SET DEBUG_SYNC = 'now SIGNAL continue';
|
||||
connection node_2;
|
||||
ERROR HY000: Got error 6 "No such device or address" during COMMIT
|
||||
ERROR HY000: Error while appending streaming replication fragment(provider status: Not connected to Primary Component)
|
||||
connection node_2a;
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
connection node_1a;
|
||||
|
@ -7774,6 +7774,7 @@ int handler::ha_write_row(const uchar *buf)
|
||||
Log_func *log_func= Write_rows_log_event::binlog_row_logging_function;
|
||||
error= binlog_log_row(table, 0, buf, log_func);
|
||||
}
|
||||
|
||||
#ifdef WITH_WSREP
|
||||
THD *thd= ha_thd();
|
||||
if (WSREP_NNULL(thd) && table_share->tmp_table == NO_TMP_TABLE &&
|
||||
|
@ -2473,25 +2473,22 @@ bool wsrep_should_replicate_ddl(THD* thd, const handlerton *hton)
|
||||
case DB_TYPE_MYISAM:
|
||||
if (wsrep_check_mode(WSREP_MODE_REPLICATE_MYISAM))
|
||||
return true;
|
||||
else
|
||||
WSREP_DEBUG("wsrep OSU failed for %s", wsrep_thd_query(thd));
|
||||
break;
|
||||
case DB_TYPE_ARIA:
|
||||
if (wsrep_check_mode(WSREP_MODE_REPLICATE_ARIA))
|
||||
return true;
|
||||
break;
|
||||
case DB_TYPE_PARTITION_DB:
|
||||
/* In most cases this means we could not find out
|
||||
table->file->partition_ht() */
|
||||
return true;
|
||||
break;
|
||||
case DB_TYPE_ARIA:
|
||||
if (wsrep_check_mode(WSREP_MODE_REPLICATE_ARIA))
|
||||
return true;
|
||||
else
|
||||
WSREP_DEBUG("wsrep OSU failed for %s", wsrep_thd_query(thd));
|
||||
break;
|
||||
default:
|
||||
WSREP_DEBUG("wsrep OSU failed for %s", wsrep_thd_query(thd));
|
||||
break;
|
||||
}
|
||||
|
||||
WSREP_DEBUG("wsrep OSU failed for %s", wsrep_thd_query(thd));
|
||||
|
||||
/* wsrep_mode = STRICT_REPLICATION, treat as error */
|
||||
my_error(ER_GALERA_REPLICATION_NOT_SUPPORTED, MYF(0));
|
||||
push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
|
||||
@ -2506,15 +2503,14 @@ bool wsrep_should_replicate_ddl_iterate(THD* thd, const TABLE_LIST* table_list)
|
||||
{
|
||||
for (const TABLE_LIST* it= table_list; it; it= it->next_global)
|
||||
{
|
||||
if (it->table && !it->table_function)
|
||||
const TABLE* table= it->table;
|
||||
if (table && !it->table_function)
|
||||
{
|
||||
/* If this is partitioned table we need to find out
|
||||
implementing storage engine handlerton.
|
||||
*/
|
||||
const handlerton *ht= it->table->file->partition_ht() ?
|
||||
it->table->file->partition_ht() :
|
||||
it->table->s->db_type();
|
||||
|
||||
const handlerton *ht= table->file->partition_ht();
|
||||
if (!ht) ht= table->s->db_type();
|
||||
if (!wsrep_should_replicate_ddl(thd, ht))
|
||||
return false;
|
||||
}
|
||||
@ -3208,6 +3204,7 @@ void wsrep_handle_mdl_conflict(MDL_context *requestor_ctx,
|
||||
THD *request_thd= requestor_ctx->get_thd();
|
||||
|
||||
mysql_mutex_lock(&request_thd->LOCK_thd_data);
|
||||
|
||||
if (wsrep_thd_is_toi(request_thd) ||
|
||||
wsrep_thd_is_applying(request_thd))
|
||||
{
|
||||
|
@ -237,25 +237,13 @@ static inline void wsrep_override_error(THD* thd,
|
||||
wsrep::client_error ce,
|
||||
enum wsrep::provider::status status)
|
||||
{
|
||||
DBUG_ASSERT(ce != wsrep::e_success);
|
||||
switch (ce)
|
||||
{
|
||||
case wsrep::e_error_during_commit:
|
||||
if (status == wsrep::provider::error_size_exceeded)
|
||||
wsrep_override_error(thd, ER_UNKNOWN_ERROR, "Maximum writeset size exceeded");
|
||||
else
|
||||
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT, 0, status);
|
||||
break;
|
||||
case wsrep::e_deadlock_error:
|
||||
wsrep_override_error(thd, ER_LOCK_DEADLOCK);
|
||||
break;
|
||||
case wsrep::e_interrupted_error:
|
||||
wsrep_override_error(thd, ER_QUERY_INTERRUPTED);
|
||||
break;
|
||||
case wsrep::e_size_exceeded_error:
|
||||
DBUG_ASSERT(ce != wsrep::e_success);
|
||||
switch (ce)
|
||||
{
|
||||
case wsrep::e_error_during_commit:
|
||||
if (status == wsrep::provider::error_size_exceeded)
|
||||
wsrep_override_error(thd, ER_UNKNOWN_ERROR, "Maximum writeset size exceeded");
|
||||
break;
|
||||
case wsrep::e_append_fragment_error:
|
||||
else
|
||||
/* TODO: Figure out better error number */
|
||||
if (status)
|
||||
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT,
|
||||
@ -265,17 +253,45 @@ static inline void wsrep_override_error(THD* thd,
|
||||
else
|
||||
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT,
|
||||
"Error while appending streaming replication fragment");
|
||||
break;
|
||||
case wsrep::e_not_supported_error:
|
||||
wsrep_override_error(thd, ER_NOT_SUPPORTED_YET);
|
||||
break;
|
||||
case wsrep::e_timeout_error:
|
||||
wsrep_override_error(thd, ER_LOCK_WAIT_TIMEOUT);
|
||||
break;
|
||||
case wsrep::e_deadlock_error:
|
||||
switch (thd->lex->sql_command)
|
||||
{
|
||||
case SQLCOM_XA_END:
|
||||
case SQLCOM_XA_PREPARE:
|
||||
wsrep_override_error(thd, ER_XA_RBDEADLOCK);
|
||||
break;
|
||||
default:
|
||||
wsrep_override_error(thd, ER_UNKNOWN_ERROR);
|
||||
wsrep_override_error(thd, ER_LOCK_DEADLOCK);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case wsrep::e_interrupted_error:
|
||||
wsrep_override_error(thd, ER_QUERY_INTERRUPTED);
|
||||
break;
|
||||
case wsrep::e_size_exceeded_error:
|
||||
wsrep_override_error(thd, ER_UNKNOWN_ERROR, "Maximum writeset size exceeded");
|
||||
break;
|
||||
case wsrep::e_append_fragment_error:
|
||||
/* TODO: Figure out better error number */
|
||||
if (status)
|
||||
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT,
|
||||
"Error while appending streaming replication fragment"
|
||||
"(provider status: %s)",
|
||||
wsrep::provider::to_string(status).c_str());
|
||||
else
|
||||
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT,
|
||||
"Error while appending streaming replication fragment");
|
||||
break;
|
||||
case wsrep::e_not_supported_error:
|
||||
wsrep_override_error(thd, ER_NOT_SUPPORTED_YET);
|
||||
break;
|
||||
case wsrep::e_timeout_error:
|
||||
wsrep_override_error(thd, ER_LOCK_WAIT_TIMEOUT);
|
||||
break;
|
||||
default:
|
||||
wsrep_override_error(thd, ER_UNKNOWN_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user