################################################################################ # Validates that a member that does have the default_table_encryption global # server option behaves like if the option value is OFF. # # Test: # 0. This test requires 2 members. # 1. Bootstrap a group on server 1 faking that it is a # server that does not have the option default_table_encryption, # thence it will not send it to group on join the handshake. # 2. Try join a member with # GLOBAL.default_table_encryption = ON # to the group, it shall fail. # 3. Try join a member with # GLOBAL.default_table_encryption = OFF # to the group, it shall succeed. # 4. Cleanup. ################################################################################ --source include/have_debug.inc --source include/have_group_replication_plugin.inc --let $rpl_skip_group_replication_start= 1 --source include/group_replication.inc --echo --echo ############################################################ --echo # 1. Bootstrap a group on server 1 faking that it is a --echo # server that does not have the option default_table_encryption, --echo # thence it will not send it to group on join the handshake. --let $rpl_connection_name= server1 --source include/rpl_connection.inc SET @@GLOBAL.DEBUG='+d,group_replication_skip_encode_default_table_encryption'; --source include/start_and_bootstrap_group_replication.inc --echo --echo ############################################################ --echo # 2. Try join a member with --echo # GLOBAL.default_table_encryption = ON --echo # to the group, it shall fail. --let $rpl_connection_name= server2 --source include/rpl_connection.inc SET SESSION sql_log_bin = 0; call mtr.add_suppression("The member is configured with a default_table_encryption option value '1' different from the group '0'. The member will now exit the group."); SET SESSION sql_log_bin = 1; --disable_query_log --eval SET GLOBAL group_replication_group_name= "$group_replication_group_name" --enable_query_log SET @table_encryption_default= @@GLOBAL.default_table_encryption; SET @@GLOBAL.default_table_encryption = ON; --error ER_GROUP_REPLICATION_CONFIGURATION START GROUP_REPLICATION; --echo --echo ############################################################ --echo # 3. Try join a member with --echo # GLOBAL.default_table_encryption = OFF --echo # to the group, it shall succeed. SET @@GLOBAL.default_table_encryption = OFF; --source include/start_group_replication.inc --echo --echo ############################################################ --echo # 4. Clean up. --let $rpl_connection_name= server1 --source include/rpl_connection.inc --source include/stop_group_replication.inc SET @@GLOBAL.DEBUG='-d,group_replication_skip_encode_default_table_encryption'; --let $rpl_connection_name= server2 --source include/rpl_connection.inc --source include/stop_group_replication.inc SET @@GLOBAL.default_table_encryption= @table_encryption_default; --source include/group_replication_end.inc