--source include/not_valgrind.inc --source include/not_windows.inc #--source include/have_innodb.inc --source include/have_binlog_format_row.inc --source include/have_log_bin.inc --source include/paxos.inc # # Check if all xcluster cmds are valid # let $MYPORT_CONSENSUS_1 = query_get_value("select $MYPORT_1+40 as c1", c1, 1); let $MYPORT_CONSENSUS_2 = query_get_value("select $MYPORT_2+40 as c1", c1, 1); #eval change consensus_leader to 1; --replace_result $PAXOS_PORT_1 PAXOS_PORT_1 eval call dbms_consensus.change_leader("127.0.0.1:$PAXOS_PORT_1"); --replace_result $MYPORT_CONSENSUS_1 MYPORT_CONSENSUS_1 #eval change consensus_leader to "127.0.0.1:$MYPORT_CONSENSUS_1"; eval call dbms_consensus.change_leader("127.0.0.1:$MYPORT_CONSENSUS_1"); #eval add consensus_learner "127.0.0.1:23999"; call dbms_consensus.add_learner("127.0.0.1:23999"); #eval drop consensus_learner "127.0.0.1:23999"; call dbms_consensus.drop_learner("127.0.0.1:23999"); #eval change consensus_follower 2 to consensus_learner; --replace_result $PAXOS_PORT_2 PAXOS_PORT_2 eval call dbms_consensus.downgrade_follower("127.0.0.1:$PAXOS_PORT_2"); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" from consensus_learner to consensus_follower; eval call dbms_consensus.upgrade_learner("127.0.0.1:$MYPORT_CONSENSUS_2"); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval change consensus_follower "127.0.0.1:$MYPORT_CONSENSUS_2" to consensus_learner; eval call dbms_consensus.downgrade_follower("127.0.0.1:$MYPORT_CONSENSUS_2"); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval drop consensus_learner "127.0.0.1:$MYPORT_CONSENSUS_2"; eval call dbms_consensus.drop_learner("127.0.0.1:$MYPORT_CONSENSUS_2"); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval add consensus_follower "127.0.0.1:$MYPORT_CONSENSUS_2"; eval call dbms_consensus.add_follower("127.0.0.1:$MYPORT_CONSENSUS_2"); # sleep to avoid "A concurrent command is running, please retry later" error. --sleep 1 --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval change consensus_follower "127.0.0.1:$MYPORT_CONSENSUS_2" to consensus_learner; eval call dbms_consensus.downgrade_follower("127.0.0.1:$MYPORT_CONSENSUS_2"); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval change consensus_learner "127.0.0.1:$MYPORT_CONSENSUS_2" to consensus_follower; eval call dbms_consensus.upgrade_learner("127.0.0.1:$MYPORT_CONSENSUS_2"); #eval change consensus_node 2 consensus_force_sync false consensus_election_weight 5; --replace_result $PAXOS_PORT_2 PAXOS_PORT_2 eval call dbms_consensus.configure_follower("127.0.0.1:$PAXOS_PORT_2", 5, 0); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_force_sync false consensus_election_weight 5; eval call dbms_consensus.configure_follower("127.0.0.1:$MYPORT_CONSENSUS_2", 5, 0); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval change consensus_follower "127.0.0.1:$MYPORT_CONSENSUS_2" to consensus_learner; eval call dbms_consensus.downgrade_follower("127.0.0.1:$MYPORT_CONSENSUS_2"); #eval change consensus_node 100 consensus_learner_source 1 consensus_use_applyindex false; --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 $PAXOS_PORT_1 PAXOS_PORT_1 eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", "127.0.0.1:$PAXOS_PORT_1", 0); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 $MYPORT_CONSENSUS_1 MYPORT_CONSENSUS_1 #--error ER_CONSENSUS_COMMAND_ERROR #eval change consensus_node 100 consensus_learner_source "127.0.0.1:$MYPORT_CONSENSUS_1" consensus_use_applyindex false; eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", "127.0.0.1:$MYPORT_CONSENSUS_1", 0); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #--error ER_CONSENSUS_COMMAND_ERROR #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_learner_source 1 consensus_use_applyindex false; --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 $PAXOS_PORT_1 PAXOS_PORT_1 eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", "127.0.0.1:$PAXOS_PORT_1", 0); --replace_result $MYPORT_CONSENSUS_1 MYPORT_CONSENSUS_1 $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_learner_source "127.0.0.1:$MYPORT_CONSENSUS_1" consensus_use_applyindex false; eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", "127.0.0.1:$MYPORT_CONSENSUS_1", 0); #eval change consensus_learner for consensus_meta; call dbms_consensus.refresh_learner_meta(); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval change consensus_learner "127.0.0.1:$MYPORT_CONSENSUS_2" to consensus_follower; eval call dbms_consensus.upgrade_learner("127.0.0.1:$MYPORT_CONSENSUS_2"); #eval change consensus_node 2 consensus_matchindex 1; --replace_result $PAXOS_PORT_2 PAXOS_PORT_2 eval call dbms_consensus.fix_matchindex("127.0.0.1:$PAXOS_PORT_2", 1); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_matchindex 1; eval call dbms_consensus.fix_matchindex("127.0.0.1:$MYPORT_CONSENSUS_2", 1); # # ip:port format check # --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 eval call dbms_consensus.downgrade_follower("127.0.0.1:$MYPORT_CONSENSUS_2"); --replace_result $MYPORT_CONSENSUS_1 MYPORT_CONSENSUS_1 $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_learner_source "127.0.0.1:$MYPORT_CONSENSUS_1"; eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", "127.0.0.1:$MYPORT_CONSENSUS_1"); --replace_result $MYPORT_CONSENSUS_1 MYPORT_CONSENSUS_1 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "" consensus_learner_source "127.0.0.1:$MYPORT_CONSENSUS_1"; eval call dbms_consensus.configure_learner("", "127.0.0.1:$MYPORT_CONSENSUS_1"); --replace_result $MYPORT_CONSENSUS_1 MYPORT_CONSENSUS_1 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "1.1:12345" consensus_learner_source "127.0.0.1:$MYPORT_CONSENSUS_1"; eval call dbms_consensus.configure_learner("1.1:12345", "127.0.0.1:$MYPORT_CONSENSUS_1"); --replace_result $MYPORT_CONSENSUS_1 MYPORT_CONSENSUS_1 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "1.1.1.1.1:12345" consensus_learner_source "127.0.0.1:$MYPORT_CONSENSUS_1"; eval call dbms_consensus.configure_learner("1.1.1.1.1:12345", "127.0.0.1:$MYPORT_CONSENSUS_1"); --replace_result $MYPORT_CONSENSUS_1 MYPORT_CONSENSUS_1 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "1.1.1.1:99999" consensus_learner_source "127.0.0.1:$MYPORT_CONSENSUS_1"; eval call dbms_consensus.configure_learner("1.1.1.1:99999", "127.0.0.1:$MYPORT_CONSENSUS_1"); --replace_result $MYPORT_CONSENSUS_1 MYPORT_CONSENSUS_1 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "1.1.1.1.1:1abc" consensus_learner_source "127.0.0.1:$MYPORT_CONSENSUS_1"; eval call dbms_consensus.configure_learner("1.1.1.1.1:1abc", "127.0.0.1:$MYPORT_CONSENSUS_1"); --replace_result $MYPORT_CONSENSUS_1 MYPORT_CONSENSUS_1 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "abc" consensus_learner_source "127.0.0.1:$MYPORT_CONSENSUS_1"; eval call dbms_consensus.configure_learner("abc", "127.0.0.1:$MYPORT_CONSENSUS_1"); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_learner_source ""; eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", ""); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_learner_source "1.1:12345"; eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", "1.1:12345"); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_learner_source "1.1.1.1.1:12345"; eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", "1.1.1.1.1:12345"); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_learner_source "1.1.1.1:99999"; eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", "1.1.1.1:99999"); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_learner_source "1.1.1.1.1:1abc"; eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", "1.1.1.1.1:1abc"); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 # --error ER_CONSENSUS_IP_PORT_FORMAT --error ER_NATIVE_PROC_PARAMETER_MISMATCH #eval change consensus_node "127.0.0.1:$MYPORT_CONSENSUS_2" consensus_learner_source "abc"; eval call dbms_consensus.configure_learner("127.0.0.1:$MYPORT_CONSENSUS_2", "abc"); # # check err msg # #eval change consensus_node 101 consensus_learner_source 1 consensus_use_applyindex false; --replace_result $PAXOS_PORT_1 PAXOS_PORT_1 --error ER_CONSENSUS_COMMAND_ERROR eval call dbms_consensus.configure_learner("127.0.0.1:20000", "127.0.0.1:$PAXOS_PORT_1", 0); --replace_result $MYPORT_CONSENSUS_2 MYPORT_CONSENSUS_2 --error ER_CONSENSUS_COMMAND_ERROR #eval add consensus_learner "127.0.0.1:$MYPORT_CONSENSUS_2"; eval call dbms_consensus.add_learner("127.0.0.1:$MYPORT_CONSENSUS_2");