1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
# This test verifies that the channel service interface cannot be used when:
# 1) The server is configured with a server id = 0
# 2) The relay log info repository is set to FILE
# 3) The master info repository is set to FILE
--source include/have_debug.inc
--source include/have_binlog_format_mixed.inc
--source include/have_replication_observers_example_plugin.inc
--disable_warnings ER_WARN_DEPRECATED_SYNTAX ONCE
SET @saved_master_info_repository = @@GLOBAL.master_info_repository;
--disable_warnings ER_WARN_DEPRECATED_SYNTAX ONCE
SET @saved_relay_log_info_repository = @@GLOBAL.relay_log_info_repository;
# Install the replication observers example plugin
--source include/install_replication_observers_example.inc
CALL mtr.add_suppression('For the creation of replication channels the server *');
CALL mtr.add_suppression('For the creation of replication channels the connection metadata *');
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
SET @original_slave_server_id= @@GLOBAL.server_id;
# Execute a query that on a server hook will execute a test that verifies that
# the channel service interface was not properly initialized (server-id = 0).
SET @debug_saved= @@GLOBAL.DEBUG;
SET @@GLOBAL.DEBUG= '+d,validate_replication_observers_plugin_server_channels_init';
SET @@GLOBAL.server_id= 0;
--eval INSERT INTO t1 VALUES(1)
# Check that the interface still fails with the relay log info repository set to
# FILE
SET @@GLOBAL.server_id= @original_slave_server_id;
SET @@GLOBAL.relay_log_info_repository='FILE';
SET @@GLOBAL.master_info_repository='TABLE';
--eval INSERT INTO t1 VALUES(2)
# Check that the interface still fails with the master info repository set to
# FILE
SET @@GLOBAL.relay_log_info_repository='TABLE';
SET @@GLOBAL.master_info_repository='FILE';
--eval INSERT INTO t1 VALUES(3)
# Clean
--disable_warnings ER_WARN_DEPRECATED_SYNTAX ONCE
SET @@GLOBAL.master_info_repository = @saved_master_info_repository;
--disable_warnings ER_WARN_DEPRECATED_SYNTAX ONCE
SET @@GLOBAL.relay_log_info_repository = @saved_relay_log_info_repository;
SET @@GLOBAL.DEBUG= @debug_saved;
DROP TABLE t1;
--source include/uninstall_replication_observers_example.inc
|