mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
cd1a11ace3
While sql_bin_log=1(0) is meant to control binary logging for the current session so that the updates to do(not) get logged into the binary log to be replicated to the async MariaDB slave. The same should not affect galera replication. That is, the updates should always get replicated to other galera nodes regardless of sql_bin_log's value. Fixed by making sure that the updates are written to binlog cache irrespective of sql_bin_log. Added test cases.
44 lines
1,009 B
Text
44 lines
1,009 B
Text
# Test to check the behavior of galera cluster with sql_log_bin=ON|OFF & binary
|
|
# logging is disabled. sql_bin_log should not affect galera replication.
|
|
|
|
--source include/galera_cluster.inc
|
|
--source include/have_innodb.inc
|
|
|
|
--echo
|
|
--echo # On node_1
|
|
--connection node_1
|
|
|
|
USE test;
|
|
CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=INNODB;
|
|
INSERT INTO t1 VALUES (1);
|
|
|
|
--echo # Disable binary logging for current session
|
|
SET SQL_LOG_BIN=OFF;
|
|
INSERT INTO t1 VALUES (2);
|
|
CREATE TABLE t2(c1 INT PRIMARY KEY) ENGINE=INNODB;
|
|
INSERT INTO t2 VALUES (1);
|
|
CREATE TABLE test.t3 AS SELECT * from t1;
|
|
|
|
--echo # Enable binary logging for current session
|
|
SET SQL_LOG_BIN=ON;
|
|
INSERT INTO t2 VALUES (2);
|
|
CREATE TABLE t4 AS SELECT * from t2;
|
|
SELECT * FROM t1;
|
|
SELECT * FROM t2;
|
|
SELECT * FROM t3;
|
|
SELECT * FROM t4;
|
|
|
|
--echo
|
|
--echo # On node_2
|
|
--connection node_2
|
|
USE test;
|
|
SELECT * FROM t1;
|
|
SELECT * FROM t2;
|
|
SELECT * FROM t3;
|
|
SELECT * FROM t4;
|
|
|
|
# Cleanup
|
|
DROP TABLE t1, t2, t3, t4;
|
|
|
|
--source include/galera_end.inc
|
|
--echo # End of test
|