polardbxengine/mysql-test/suite/rpl/t/rpl_connection_compression_...

278 lines
20 KiB
Plaintext

# ==== Requirements ====
#
# R1: Test configuration of compression algorithm and level for new channel.
# 1. ALGORITHM set to different combination of zlib,zstd,uncompressed
# 2. ALGORITHM set to different combination of zlib,zstd,uncompressed and
# LEVEL set to different values.
# 3. ALGORITHM set to invalid values.
# 4. ALGORITHM set to invalid values and LEVEL set to different values.
# 5. ALGORITHM and LEVEL not specified.
# 6. ALGORITHM specified and LEVEL not specified.
# 7. ALGORITHM not specified and LEVEL specified.
#
# R2: Test configuration of compression algorithm and level for existing
# channel.
# 1. ALGORITHM set to different combination of zlib,zstd,uncompressed which
# is different from its previous value.
# 2. ALGORITHM set to different combination of zlib,zstd,uncompressed which
# is different from its previous value and LEVEL set to different values.
# 3. ALGORITHM changed to invalid values.
# 4. ALGORITHM changed to invalid values and LEVEL set to different values.
# 5. ALGORITHM and LEVEL not specified.
# 6. ALGORITHM specified and LEVEL not specified.
# 7. ALGORITHM not specified and LEVEL specified.
#
# ==== References ====
#
# WL#12475 - Protocol Changes to specify compression configuration for
# connections
--source include/master-slave.inc
--source include/rpl_connection_slave.inc
# Test requires master-info-repository=TABLE, relay-log-info-repository=TABLE
--source include/have_slave_repository_type_table.inc
--echo ##### TEST FOR NEW CHANNEL #####
--echo # case 1: ALGORITHM = uncompressed, LEVEL not specified
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='uncompressed', MASTER_ZSTD_COMPRESSION_LEVEL= 0 FOR CHANNEL 'C1';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C1';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C1';
--echo # case 2: ALGORITHM = uncompressed, LEVEL = 2
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='uncompressed', MASTER_ZSTD_COMPRESSION_LEVEL= 2 FOR CHANNEL 'C2';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C2';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C2';
--echo # case 3: ALGORITHM not specified, LEVEL = 2
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_ZSTD_COMPRESSION_LEVEL= 2 FOR CHANNEL 'C3';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C3';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C3';
--echo # case 4: ALGORITHM = ZSTD, LEVEL = not specified
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zstd' FOR CHANNEL 'C4';
--echo # algorithm and level should be set to zstd and 0
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C4';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C4';
--echo # case 5: ALGORITHM = ZSTD, LEVEL = 9
--echo # report error as part of change master
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zstd', MASTER_ZSTD_COMPRESSION_LEVEL= 9 FOR CHANNEL 'C5';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C5';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C5';
--echo # case 6: ALGORITHM = ZSTD, LEVEL = 24
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_LEVEL_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zstd', MASTER_ZSTD_COMPRESSION_LEVEL= 24 FOR CHANNEL 'C6';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C6';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C6';
--echo # case 7: ALGORITHM = invalid value, LEVEL = 2
--echo # report error as part of change master
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_ALGORITHM_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='xyz', MASTER_ZSTD_COMPRESSION_LEVEL= 2 FOR CHANNEL 'C7';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C7';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C7';
--echo # case 8: ALGORITHM = invalid value, LEVEL = 29
--echo # report error as part of change master
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_ALGORITHM_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='xyz', MASTER_ZSTD_COMPRESSION_LEVEL= 29 FOR CHANNEL 'C8';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C8';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C8';
--echo # case 9: ALGORITHM = invalid value, LEVEL not specified
--echo # report error as part of change master
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_ALGORITHM_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='xyz' FOR CHANNEL 'C9';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C9';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C9';
--echo # case 10: ALGORITHM = invalid value
--echo # report error as part of change master
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_ALGORITHM_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS= 'zlib,zstd,abc' FOR CHANNEL 'C10';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C10';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C10';
--echo # case 11: ALGORITHM specified to more than 3 values
--echo # report error as part of change master
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_ALGORITHM_LIST_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS= 'zlib,zstd,abc,123' FOR CHANNEL 'C11';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C11';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C11';
--echo # case 12: ALGORITHM specified to upper case, LEVEL not specified
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root',MASTER_COMPRESSION_ALGORITHMS= 'ZLIB,ZSTD' FOR CHANNEL 'C12';
--echo # algorithm and level should be set to ZLIB,ZSTD/0
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C12';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C12';
--echo # case 13: ALGORITHM = 'zlib,uncompressed', LEVEL not specified
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zlib,uncompressed' FOR CHANNEL 'C13';
--echo # algorithm and level should be set to 'zlib,uncompressed'/0
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C13';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C13';
--echo # case 14: ALGORITHM = 'zlib,uncompressed', LEVEL = 4
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zlib,uncompressed', MASTER_ZSTD_COMPRESSION_LEVEL=4 FOR CHANNEL 'C14';
--echo # algorithm and level should be set to 'zlib,uncompressed'/4
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C14';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C14';
--echo # case 15: ALGORITHM = 'zlib,uncompressed,zstd', LEVEL = 0
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zlib,uncompressed,zstd', MASTER_ZSTD_COMPRESSION_LEVEL=0 FOR CHANNEL 'C15';
--echo # algorithm and level should be set to 'zlib,uncompressed,zstd'/0
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C15';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C15';
--echo # case 16: ALGORITHM = 'uncompressed,zstd', LEVEL = 14
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='uncompressed,zstd', MASTER_ZSTD_COMPRESSION_LEVEL=14 FOR CHANNEL 'C16';
--echo # algorithm and level should be set to 'uncompressed,zstd'/14
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C16';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C16';
--echo # case 17: ALGORITHM = 'zlib,uncompressed,zlib', LEVEL = 14
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zlib,uncompressed,zlib', MASTER_ZSTD_COMPRESSION_LEVEL=14 FOR CHANNEL 'C17';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C17';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C17';
--echo # case 18: ALGORITHM = 'uncompressed,uncompressed,uncompressed', LEVEL = 14
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='uncompressed,uncompressed,uncompressed', MASTER_ZSTD_COMPRESSION_LEVEL=14 FOR CHANNEL 'C17';
--echo # algorithm and level should be set to 'uncompressed,uncompressed,uncompressed'/14
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C17';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C17';
--echo # case 19: ALGORITHM = 'zstd,zlib,uncompressed', LEVEL = 2
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zstd,zlib,uncompressed', MASTER_ZSTD_COMPRESSION_LEVEL=2 FOR CHANNEL 'C17';
--echo # algorithm and level should be set to 'zstd,zlib,uncompressed'/2
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C17';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C17';
--echo ##### TEST FOR EXISTING CHANNEL #####
--echo # create a new channel
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zstd', MASTER_ZSTD_COMPRESSION_LEVEL= 2 FOR CHANNEL 'C21';
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C21';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C21';
--echo # case 1: ALGORITHM not specified, LEVEL = 7
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_ZSTD_COMPRESSION_LEVEL = 7 FOR CHANNEL 'C21';
--echo # algorithm and level should be set to 'zstd'/7
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C21';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C21';
--echo # case 2: ALGORITHM not specified, LEVEL 37
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_LEVEL_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_ZSTD_COMPRESSION_LEVEL = 37 FOR CHANNEL 'C21';
--echo # level should be same as previous which is 7
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C21';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C21';
--echo # case 3: ALGORITHM not specified, LEVEL is not specified
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root' FOR CHANNEL 'C21';
--echo # algorithm and level should not change
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C21';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C21';
--echo # case 4: ALGORITHM changed from zstd to zlib, LEVEL = 6
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zlib', MASTER_ZSTD_COMPRESSION_LEVEL = 6 FOR CHANNEL 'C21';
--echo # level should be 6 and algorithm should be zlib
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C21';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C21';
--echo # case 5: ALGORITHM changed from zlib to zstd/uncompressed, LEVEL = 27
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_LEVEL_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zlib,uncompressed', MASTER_ZSTD_COMPRESSION_LEVEL = 27 FOR CHANNEL 'C21';
--echo # level should be 6 and algorithm should be zlib
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C21';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C21';
--echo # case 6: ALGORITHM changed from zstd to zlib, LEVEL not specified
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zlib' FOR CHANNEL 'C21';
--echo # level should not change
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C21';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C21';
--echo # case 7: ALGORITHM = invalid values, LEVEL = 6
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_ALGORITHM_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='xyz', MASTER_ZSTD_COMPRESSION_LEVEL = 6 FOR CHANNEL 'C21';
--echo # case 8: ALGORITHM = invalid values, LEVEL = 26
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_ALGORITHM_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='xyz', MASTER_ZSTD_COMPRESSION_LEVEL = 26 FOR CHANNEL 'C21';
--echo # case 9: ALGORITHM = invalid values, LEVEL is not specified
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_CHANGE_MASTER_WRONG_COMPRESSION_ALGORITHM_CLIENT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='xyz' FOR CHANNEL 'C21';
--echo # case 10: ALGORITHM changed from zlib to 'zstd,zlib,uncompressed', LEVEL is not specified
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zstd,zlib,uncompressed' FOR CHANNEL 'C21';
--echo # level should be 0 and algorithm should be 'zstd,zlib,uncompressed' and warning is reported
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C21';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C21';
--echo # case 11: ALGORITHM changed from 'zstd,zlib,uncompressed' to 'zstd', LEVEL = 3
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_COMPRESSION_ALGORITHMS='zstd', MASTER_ZSTD_COMPRESSION_LEVEL = 3 FOR CHANNEL 'C21';
--echo # level should be 3 and algorithm should be 'zstd'
SELECT MASTER_COMPRESSION_ALGORITHM, MASTER_ZSTD_COMPRESSION_LEVEL FROM mysql.slave_master_info WHERE CHANNEL_NAME = 'C21';
SELECT COMPRESSION_ALGORITHM, ZSTD_COMPRESSION_LEVEL FROM performance_schema.replication_connection_configuration where CHANNEL_NAME = 'C21';
--echo
--echo # cleanup
--echo
--source include/stop_slave.inc
RESET SLAVE ALL FOR CHANNEL 'c1';
RESET SLAVE ALL FOR CHANNEL 'c10';
RESET SLAVE ALL FOR CHANNEL 'c11';
RESET SLAVE ALL FOR CHANNEL 'c12';
RESET SLAVE ALL FOR CHANNEL 'c13';
RESET SLAVE ALL FOR CHANNEL 'c14';
RESET SLAVE ALL FOR CHANNEL 'c15';
RESET SLAVE ALL FOR CHANNEL 'c16';
RESET SLAVE ALL FOR CHANNEL 'c17';
RESET SLAVE ALL FOR CHANNEL 'c2';
RESET SLAVE ALL FOR CHANNEL 'c21';
RESET SLAVE ALL FOR CHANNEL 'c3';
RESET SLAVE ALL FOR CHANNEL 'c4';
RESET SLAVE ALL FOR CHANNEL 'c5';
RESET SLAVE ALL FOR CHANNEL 'c6';
RESET SLAVE ALL FOR CHANNEL 'c7';
RESET SLAVE ALL FOR CHANNEL 'c8';
RESET SLAVE ALL FOR CHANNEL 'c9';
--source include/start_slave.inc
--source include/rpl_end.inc