polardbxengine/mysql-test/suite/binlog_nogtid/r/binlog_persist_variables.re...

284 lines
15 KiB
Plaintext

############################################################
# 0. Check that there are no persisted variable settings.
include/assert.inc ['Expect 0 persisted variables.']
############################################################
# 1. Initialization. Test SET PERSIST. Verify persisted
# variables.
CALL mtr.add_suppression("Unsafe statement written to the binary log");
# Install semi-sync related plugins
CREATE TABLE rplvars (id INT PRIMARY KEY AUTO_INCREMENT, varname VARCHAR(64), varvalue VARCHAR(256));
INSERT INTO rplvars (varname, varvalue)
SELECT * FROM performance_schema.global_variables
WHERE (VARIABLE_NAME LIKE '%binlog%' OR
VARIABLE_NAME LIKE '%gtid%' OR
VARIABLE_NAME LIKE '%log_bin%' OR
VARIABLE_NAME LIKE '%master%' OR
VARIABLE_NAME LIKE '%relay%' OR
VARIABLE_NAME LIKE '%rpl%' OR
VARIABLE_NAME LIKE '%semi_sync%' OR
VARIABLE_NAME LIKE '%slave%') AND
(VARIABLE_NAME NOT IN ('innodb_api_enable_binlog',
'innodb_master_thread_disabled_debug',
'print_gtid_info_during_recovery',
'recovery_apply_binlog') AND
(VARIABLE_NAME NOT LIKE 'xengine_%'))
ORDER BY VARIABLE_NAME;
include/assert.inc ['Expect 85 variables in the table.']
# Test SET PERSIST
SET PERSIST binlog_cache_size = @@GLOBAL.binlog_cache_size;
SET PERSIST binlog_checksum = @@GLOBAL.binlog_checksum;
SET PERSIST binlog_direct_non_transactional_updates = @@GLOBAL.binlog_direct_non_transactional_updates;
SET PERSIST binlog_encryption = @@GLOBAL.binlog_encryption;
SET PERSIST binlog_error_action = @@GLOBAL.binlog_error_action;
SET PERSIST binlog_expire_logs_seconds = @@GLOBAL.binlog_expire_logs_seconds;
SET PERSIST binlog_format = @@GLOBAL.binlog_format;
SET PERSIST binlog_group_commit_sync_delay = @@GLOBAL.binlog_group_commit_sync_delay;
SET PERSIST binlog_group_commit_sync_no_delay_count = @@GLOBAL.binlog_group_commit_sync_no_delay_count;
SET PERSIST binlog_gtid_simple_recovery = @@GLOBAL.binlog_gtid_simple_recovery;
ERROR HY000: Variable 'binlog_gtid_simple_recovery' is a read only variable
SET PERSIST binlog_max_flush_queue_time = @@GLOBAL.binlog_max_flush_queue_time;
Warnings:
Warning 1287 '@@binlog_max_flush_queue_time' is deprecated and will be removed in a future release.
Warning 1287 '@@binlog_max_flush_queue_time' is deprecated and will be removed in a future release.
SET PERSIST binlog_order_commits = @@GLOBAL.binlog_order_commits;
SET PERSIST binlog_rotate_encryption_master_key_at_startup = @@GLOBAL.binlog_rotate_encryption_master_key_at_startup;
ERROR HY000: Variable 'binlog_rotate_encryption_master_key_at_startup' is a read only variable
SET PERSIST binlog_row_event_max_size = @@GLOBAL.binlog_row_event_max_size;
ERROR HY000: Variable 'binlog_row_event_max_size' is a read only variable
SET PERSIST binlog_row_image = @@GLOBAL.binlog_row_image;
SET PERSIST binlog_row_metadata = @@GLOBAL.binlog_row_metadata;
SET PERSIST binlog_row_value_options = @@GLOBAL.binlog_row_value_options;
SET PERSIST binlog_rows_query_log_events = @@GLOBAL.binlog_rows_query_log_events;
SET PERSIST binlog_stmt_cache_size = @@GLOBAL.binlog_stmt_cache_size;
SET PERSIST binlog_transaction_dependency_history_size = @@GLOBAL.binlog_transaction_dependency_history_size;
SET PERSIST binlog_transaction_dependency_tracking = @@GLOBAL.binlog_transaction_dependency_tracking;
SET PERSIST enforce_gtid_consistency = @@GLOBAL.enforce_gtid_consistency;
SET PERSIST gtid_executed = @@GLOBAL.gtid_executed;
ERROR HY000: Variable 'gtid_executed' is a read only variable
SET PERSIST gtid_executed_compression_period = @@GLOBAL.gtid_executed_compression_period;
SET PERSIST gtid_mode = @@GLOBAL.gtid_mode;
SET PERSIST gtid_owned = @@GLOBAL.gtid_owned;
ERROR HY000: Variable 'gtid_owned' is a read only variable
SET PERSIST gtid_purged = @@GLOBAL.gtid_purged;
SET PERSIST init_slave = @@GLOBAL.init_slave;
SET PERSIST innodb_write_non_innodb_gtids = @@GLOBAL.innodb_write_non_innodb_gtids;
SET PERSIST log_bin = @@GLOBAL.log_bin;
ERROR HY000: Variable 'log_bin' is a read only variable
SET PERSIST log_bin_basename = @@GLOBAL.log_bin_basename;
ERROR HY000: Variable 'log_bin_basename' is a read only variable
SET PERSIST log_bin_index = @@GLOBAL.log_bin_index;
ERROR HY000: Variable 'log_bin_index' is a read only variable
SET PERSIST log_bin_trust_function_creators = @@GLOBAL.log_bin_trust_function_creators;
SET PERSIST log_bin_use_v1_row_events = @@GLOBAL.log_bin_use_v1_row_events;
ERROR HY000: Variable 'log_bin_use_v1_row_events' is a non persistent variable
SET PERSIST log_slave_updates = @@GLOBAL.log_slave_updates;
ERROR HY000: Variable 'log_slave_updates' is a read only variable
SET PERSIST log_slow_slave_statements = @@GLOBAL.log_slow_slave_statements;
SET PERSIST log_statements_unsafe_for_binlog = @@GLOBAL.log_statements_unsafe_for_binlog;
SET PERSIST master_info_repository = @@GLOBAL.master_info_repository;
SET PERSIST master_verify_checksum = @@GLOBAL.master_verify_checksum;
SET PERSIST max_binlog_cache_size = @@GLOBAL.max_binlog_cache_size;
SET PERSIST max_binlog_size = @@GLOBAL.max_binlog_size;
SET PERSIST max_binlog_stmt_cache_size = @@GLOBAL.max_binlog_stmt_cache_size;
SET PERSIST max_relay_log_size = @@GLOBAL.max_relay_log_size;
SET PERSIST recovery_apply_binlog_skip_counter = @@GLOBAL.recovery_apply_binlog_skip_counter;
SET PERSIST relay_log = @@GLOBAL.relay_log;
ERROR HY000: Variable 'relay_log' is a read only variable
SET PERSIST relay_log_basename = @@GLOBAL.relay_log_basename;
ERROR HY000: Variable 'relay_log_basename' is a read only variable
SET PERSIST relay_log_index = @@GLOBAL.relay_log_index;
ERROR HY000: Variable 'relay_log_index' is a read only variable
SET PERSIST relay_log_info_file = @@GLOBAL.relay_log_info_file;
ERROR HY000: Variable 'relay_log_info_file' is a read only variable
SET PERSIST relay_log_info_repository = @@GLOBAL.relay_log_info_repository;
SET PERSIST relay_log_purge = @@GLOBAL.relay_log_purge;
SET PERSIST relay_log_recovery = @@GLOBAL.relay_log_recovery;
ERROR HY000: Variable 'relay_log_recovery' is a read only variable
SET PERSIST relay_log_space_limit = @@GLOBAL.relay_log_space_limit;
ERROR HY000: Variable 'relay_log_space_limit' is a read only variable
SET PERSIST rpl_read_size = @@GLOBAL.rpl_read_size;
SET PERSIST rpl_semi_sync_master_enabled = @@GLOBAL.rpl_semi_sync_master_enabled;
SET PERSIST rpl_semi_sync_master_timeout = @@GLOBAL.rpl_semi_sync_master_timeout;
SET PERSIST rpl_semi_sync_master_trace_level = @@GLOBAL.rpl_semi_sync_master_trace_level;
SET PERSIST rpl_semi_sync_master_wait_for_slave_count = @@GLOBAL.rpl_semi_sync_master_wait_for_slave_count;
SET PERSIST rpl_semi_sync_master_wait_no_slave = @@GLOBAL.rpl_semi_sync_master_wait_no_slave;
SET PERSIST rpl_semi_sync_master_wait_point = @@GLOBAL.rpl_semi_sync_master_wait_point;
SET PERSIST rpl_semi_sync_slave_enabled = @@GLOBAL.rpl_semi_sync_slave_enabled;
SET PERSIST rpl_semi_sync_slave_trace_level = @@GLOBAL.rpl_semi_sync_slave_trace_level;
SET PERSIST rpl_stop_slave_timeout = @@GLOBAL.rpl_stop_slave_timeout;
SET PERSIST session_track_gtids = @@GLOBAL.session_track_gtids;
SET PERSIST slave_allow_batching = @@GLOBAL.slave_allow_batching;
SET PERSIST slave_checkpoint_group = @@GLOBAL.slave_checkpoint_group;
SET PERSIST slave_checkpoint_period = @@GLOBAL.slave_checkpoint_period;
SET PERSIST slave_compressed_protocol = @@GLOBAL.slave_compressed_protocol;
SET PERSIST slave_exec_mode = @@GLOBAL.slave_exec_mode;
SET PERSIST slave_load_tmpdir = @@GLOBAL.slave_load_tmpdir;
ERROR HY000: Variable 'slave_load_tmpdir' is a read only variable
SET PERSIST slave_max_allowed_packet = @@GLOBAL.slave_max_allowed_packet;
SET PERSIST slave_net_timeout = @@GLOBAL.slave_net_timeout;
SET PERSIST slave_parallel_type = @@GLOBAL.slave_parallel_type;
SET PERSIST slave_parallel_workers = @@GLOBAL.slave_parallel_workers;
SET PERSIST slave_pending_jobs_size_max = @@GLOBAL.slave_pending_jobs_size_max;
SET PERSIST slave_preserve_commit_order = @@GLOBAL.slave_preserve_commit_order;
SET PERSIST slave_rows_search_algorithms = @@GLOBAL.slave_rows_search_algorithms;
Warnings:
Warning 1287 '@@slave_rows_search_algorithms' is deprecated and will be removed in a future release.
Warning 1287 '@@slave_rows_search_algorithms' is deprecated and will be removed in a future release.
SET PERSIST slave_skip_errors = @@GLOBAL.slave_skip_errors;
ERROR HY000: Variable 'slave_skip_errors' is a read only variable
SET PERSIST slave_sql_verify_checksum = @@GLOBAL.slave_sql_verify_checksum;
SET PERSIST slave_transaction_retries = @@GLOBAL.slave_transaction_retries;
SET PERSIST slave_type_conversions = @@GLOBAL.slave_type_conversions;
SET PERSIST sql_slave_skip_counter = @@GLOBAL.sql_slave_skip_counter;
SET PERSIST sync_binlog = @@GLOBAL.sync_binlog;
SET PERSIST sync_master_info = @@GLOBAL.sync_master_info;
SET PERSIST sync_relay_log = @@GLOBAL.sync_relay_log;
SET PERSIST sync_relay_log_info = @@GLOBAL.sync_relay_log_info;
include/assert.inc ['Expect 67 persisted variables in persisted_variables table.']
############################################################
# 2. Restart server, it must preserve the persisted variable
# settings. Verify persisted configuration.
# restart
include/assert.inc ['Expect 67 persisted variables in persisted_variables table.']
include/assert.inc ['Expect 67 persisted variables shown as PERSISTED in variables_info table.']
include/assert.inc ['Expect 67 persisted variables with matching persisted and global values.']
############################################################
# 3. Test RESET PERSIST IF EXISTS. Verify persisted variable
# settings are removed.
RESET PERSIST IF EXISTS binlog_cache_size;
RESET PERSIST IF EXISTS binlog_checksum;
RESET PERSIST IF EXISTS binlog_direct_non_transactional_updates;
RESET PERSIST IF EXISTS binlog_encryption;
RESET PERSIST IF EXISTS binlog_error_action;
RESET PERSIST IF EXISTS binlog_expire_logs_seconds;
RESET PERSIST IF EXISTS binlog_format;
RESET PERSIST IF EXISTS binlog_group_commit_sync_delay;
RESET PERSIST IF EXISTS binlog_group_commit_sync_no_delay_count;
RESET PERSIST IF EXISTS binlog_gtid_simple_recovery;
Warnings:
Warning 3615 Variable binlog_gtid_simple_recovery does not exist in persisted config file
RESET PERSIST IF EXISTS binlog_max_flush_queue_time;
RESET PERSIST IF EXISTS binlog_order_commits;
RESET PERSIST IF EXISTS binlog_rotate_encryption_master_key_at_startup;
Warnings:
Warning 3615 Variable binlog_rotate_encryption_master_key_at_startup does not exist in persisted config file
RESET PERSIST IF EXISTS binlog_row_event_max_size;
Warnings:
Warning 3615 Variable binlog_row_event_max_size does not exist in persisted config file
RESET PERSIST IF EXISTS binlog_row_image;
RESET PERSIST IF EXISTS binlog_row_metadata;
RESET PERSIST IF EXISTS binlog_row_value_options;
RESET PERSIST IF EXISTS binlog_rows_query_log_events;
RESET PERSIST IF EXISTS binlog_stmt_cache_size;
RESET PERSIST IF EXISTS binlog_transaction_dependency_history_size;
RESET PERSIST IF EXISTS binlog_transaction_dependency_tracking;
RESET PERSIST IF EXISTS enforce_gtid_consistency;
RESET PERSIST IF EXISTS gtid_executed;
Warnings:
Warning 3615 Variable gtid_executed does not exist in persisted config file
RESET PERSIST IF EXISTS gtid_executed_compression_period;
RESET PERSIST IF EXISTS gtid_mode;
RESET PERSIST IF EXISTS gtid_owned;
Warnings:
Warning 3615 Variable gtid_owned does not exist in persisted config file
RESET PERSIST IF EXISTS gtid_purged;
RESET PERSIST IF EXISTS init_slave;
RESET PERSIST IF EXISTS innodb_write_non_innodb_gtids;
RESET PERSIST IF EXISTS log_bin;
Warnings:
Warning 3615 Variable log_bin does not exist in persisted config file
RESET PERSIST IF EXISTS log_bin_basename;
Warnings:
Warning 3615 Variable log_bin_basename does not exist in persisted config file
RESET PERSIST IF EXISTS log_bin_index;
Warnings:
Warning 3615 Variable log_bin_index does not exist in persisted config file
RESET PERSIST IF EXISTS log_bin_trust_function_creators;
RESET PERSIST IF EXISTS log_bin_use_v1_row_events;
Warnings:
Warning 3615 Variable log_bin_use_v1_row_events does not exist in persisted config file
RESET PERSIST IF EXISTS log_slave_updates;
Warnings:
Warning 3615 Variable log_slave_updates does not exist in persisted config file
RESET PERSIST IF EXISTS log_slow_slave_statements;
RESET PERSIST IF EXISTS log_statements_unsafe_for_binlog;
RESET PERSIST IF EXISTS master_info_repository;
RESET PERSIST IF EXISTS master_verify_checksum;
RESET PERSIST IF EXISTS max_binlog_cache_size;
RESET PERSIST IF EXISTS max_binlog_size;
RESET PERSIST IF EXISTS max_binlog_stmt_cache_size;
RESET PERSIST IF EXISTS max_relay_log_size;
RESET PERSIST IF EXISTS recovery_apply_binlog_skip_counter;
RESET PERSIST IF EXISTS relay_log;
Warnings:
Warning 3615 Variable relay_log does not exist in persisted config file
RESET PERSIST IF EXISTS relay_log_basename;
Warnings:
Warning 3615 Variable relay_log_basename does not exist in persisted config file
RESET PERSIST IF EXISTS relay_log_index;
Warnings:
Warning 3615 Variable relay_log_index does not exist in persisted config file
RESET PERSIST IF EXISTS relay_log_info_file;
Warnings:
Warning 3615 Variable relay_log_info_file does not exist in persisted config file
RESET PERSIST IF EXISTS relay_log_info_repository;
RESET PERSIST IF EXISTS relay_log_purge;
RESET PERSIST IF EXISTS relay_log_recovery;
Warnings:
Warning 3615 Variable relay_log_recovery does not exist in persisted config file
RESET PERSIST IF EXISTS relay_log_space_limit;
Warnings:
Warning 3615 Variable relay_log_space_limit does not exist in persisted config file
RESET PERSIST IF EXISTS rpl_read_size;
RESET PERSIST IF EXISTS rpl_semi_sync_master_enabled;
RESET PERSIST IF EXISTS rpl_semi_sync_master_timeout;
RESET PERSIST IF EXISTS rpl_semi_sync_master_trace_level;
RESET PERSIST IF EXISTS rpl_semi_sync_master_wait_for_slave_count;
RESET PERSIST IF EXISTS rpl_semi_sync_master_wait_no_slave;
RESET PERSIST IF EXISTS rpl_semi_sync_master_wait_point;
RESET PERSIST IF EXISTS rpl_semi_sync_slave_enabled;
RESET PERSIST IF EXISTS rpl_semi_sync_slave_trace_level;
RESET PERSIST IF EXISTS rpl_stop_slave_timeout;
RESET PERSIST IF EXISTS session_track_gtids;
RESET PERSIST IF EXISTS slave_allow_batching;
RESET PERSIST IF EXISTS slave_checkpoint_group;
RESET PERSIST IF EXISTS slave_checkpoint_period;
RESET PERSIST IF EXISTS slave_compressed_protocol;
RESET PERSIST IF EXISTS slave_exec_mode;
RESET PERSIST IF EXISTS slave_load_tmpdir;
Warnings:
Warning 3615 Variable slave_load_tmpdir does not exist in persisted config file
RESET PERSIST IF EXISTS slave_max_allowed_packet;
RESET PERSIST IF EXISTS slave_net_timeout;
RESET PERSIST IF EXISTS slave_parallel_type;
RESET PERSIST IF EXISTS slave_parallel_workers;
RESET PERSIST IF EXISTS slave_pending_jobs_size_max;
RESET PERSIST IF EXISTS slave_preserve_commit_order;
RESET PERSIST IF EXISTS slave_rows_search_algorithms;
RESET PERSIST IF EXISTS slave_skip_errors;
Warnings:
Warning 3615 Variable slave_skip_errors does not exist in persisted config file
RESET PERSIST IF EXISTS slave_sql_verify_checksum;
RESET PERSIST IF EXISTS slave_transaction_retries;
RESET PERSIST IF EXISTS slave_type_conversions;
RESET PERSIST IF EXISTS sql_slave_skip_counter;
RESET PERSIST IF EXISTS sync_binlog;
RESET PERSIST IF EXISTS sync_master_info;
RESET PERSIST IF EXISTS sync_relay_log;
RESET PERSIST IF EXISTS sync_relay_log_info;
include/assert.inc ['Expect 0 persisted variables.']
############################################################
# 4. Clean up.
UNINSTALL PLUGIN rpl_semi_sync_master;
UNINSTALL PLUGIN rpl_semi_sync_slave;
DROP TABLE rplvars;