summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2022-04-25 10:18:50 +0300
committerJan Lindström <jan.lindstrom@mariadb.com>2022-04-25 10:18:50 +0300
commit897adcb5151e15179d82078f81792db46c23bad9 (patch)
tree7cbb18c9e7ed4a5f1992fd404cff2ba9ca9abed7
parenta83c7ab1ea62954ab81cd599315e76a2f115ff92 (diff)
downloadmariadb-git-bb-10.4-MDEV-28377.tar.gz
MDEV-28377 : galera.galera_as_slave_nonprim bind: Address already in usebb-10.4-MDEV-28377
Reported error is caused by misconfiguration of node_2. Additionally, node_4 that should have been non-galera node contained also incorrect configuration parameters. Removed some sleeps from test case and replaced them with wait_condition.
-rw-r--r--mysql-test/suite/galera/galera_3nodes_as_slave.cnf26
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_nonprim.test5
-rw-r--r--sql/wsrep_mysqld.cc8
3 files changed, 14 insertions, 25 deletions
diff --git a/mysql-test/suite/galera/galera_3nodes_as_slave.cnf b/mysql-test/suite/galera/galera_3nodes_as_slave.cnf
index bb9473c7fc4..93e6d8ee349 100644
--- a/mysql-test/suite/galera/galera_3nodes_as_slave.cnf
+++ b/mysql-test/suite/galera/galera_3nodes_as_slave.cnf
@@ -46,9 +46,9 @@ default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER
wsrep_node_address=127.0.0.1
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
-wsrep_provider_options='base_port=@mysqld.1.#galera_port;evs.install_timeout=PT15S;evs.max_install_timeouts=1;gcache.size=10M'
-wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
-wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;evs.install_timeout=PT15S;evs.max_install_timeouts=1;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
# enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON
@@ -78,26 +78,12 @@ wsrep-causal-reads=ON
wsrep-sync-wait=15
server-id=3
+# Node_4 is not galera node
[mysqld.4]
-#galera_port=@OPT.port
-#ist_port=@OPT.port
-#sst_port=@OPT.port
-
+log-bin
log-slave-updates
-wsrep-on=1
-
-innodb-autoinc-lock-mode=2
+wsrep-on=0
default-storage-engine=innodb
-wsrep-provider=@ENV.WSREP_PROVIDER
-wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
-wsrep_provider_options='base_port=@mysqld.4.#galera_port;evs.install_timeout=PT15S;evs.max_install_timeouts=1;gcache.size=10M'
-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'
-
-# enforce read-committed characteristics across the cluster
-wsrep-causal-reads=ON
-wsrep-sync-wait=15
server-id=4
[ENV]
diff --git a/mysql-test/suite/galera/t/galera_as_slave_nonprim.test b/mysql-test/suite/galera/t/galera_as_slave_nonprim.test
index 0d878db29b8..950402d686e 100644
--- a/mysql-test/suite/galera/t/galera_as_slave_nonprim.test
+++ b/mysql-test/suite/galera/t/galera_as_slave_nonprim.test
@@ -27,7 +27,6 @@ SET SESSION wsrep_sync_wait = 0;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
--connection node_2
---sleep 1
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
--source include/wait_condition.inc
@@ -47,7 +46,6 @@ INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
--connection node_2
--sleep 5
-
--let $value = query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1)
--connection node_1
--disable_query_log
@@ -71,13 +69,14 @@ START SLAVE;
# Confirm that the replication events have arrived
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
--let $wait_condition = SELECT COUNT(*) = 5 FROM t1;
--source include/wait_condition.inc
--connection node_4
DROP TABLE t1;
---sleep 2
--connection node_2
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
--source include/wait_condition.inc
diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc
index d53fb7320e4..828aef071be 100644
--- a/sql/wsrep_mysqld.cc
+++ b/sql/wsrep_mysqld.cc
@@ -2743,8 +2743,12 @@ int wsrep_ignored_error_code(Log_event* ev, int error)
const THD* thd= ev->thd;
DBUG_ASSERT(error);
- DBUG_ASSERT(wsrep_thd_is_applying(thd) &&
- !wsrep_thd_is_local_toi(thd));
+ WSREP_DEBUG("Error '%s' on %s event. Error_code: %d, client_state %s, client_mode %s",
+ thd->get_stmt_da()->message(),
+ ev->get_type_str(),
+ error,
+ wsrep_thd_client_state_str(thd),
+ wsrep_thd_client_mode_str(thd));
if ((wsrep_ignore_apply_errors & WSREP_IGNORE_ERRORS_ON_RECONCILING_DML))
{