system sh/stop_dnodes.sh system sh/deploy.sh -n dnode1 -i 1 system sh/deploy.sh -n dnode2 -i 2 system sh/deploy.sh -n dnode3 -i 3 system sh/deploy.sh -n dnode4 -i 4 system sh/deploy.sh -n dnode5 -i 5 system sh/deploy.sh -n dnode6 -i 6 system sh/deploy.sh -n dnode7 -i 7 system sh/deploy.sh -n dnode8 -i 8 system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode5 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode6 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode7 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode8 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode1 -c numOfMnodes -v 3 system sh/cfg.sh -n dnode2 -c numOfMnodes -v 3 system sh/cfg.sh -n dnode3 -c numOfMnodes -v 3 system sh/cfg.sh -n dnode4 -c numOfMnodes -v 3 system sh/cfg.sh -n dnode5 -c numOfMnodes -v 3 system sh/cfg.sh -n dnode6 -c numOfMnodes -v 3 system sh/cfg.sh -n dnode7 -c numOfMnodes -v 3 system sh/cfg.sh -n dnode8 -c numOfMnodes -v 3 system sh/cfg.sh -n dnode1 -c wallevel -v 1 system sh/cfg.sh -n dnode2 -c wallevel -v 1 system sh/cfg.sh -n dnode3 -c wallevel -v 1 system sh/cfg.sh -n dnode4 -c wallevel -v 1 system sh/cfg.sh -n dnode5 -c wallevel -v 1 system sh/cfg.sh -n dnode6 -c wallevel -v 1 system sh/cfg.sh -n dnode7 -c wallevel -v 1 system sh/cfg.sh -n dnode8 -c wallevel -v 1 system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 0 system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 0 system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 0 system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 0 system sh/cfg.sh -n dnode5 -c mnodeEqualVnodeNum -v 0 system sh/cfg.sh -n dnode6 -c mnodeEqualVnodeNum -v 0 system sh/cfg.sh -n dnode7 -c mnodeEqualVnodeNum -v 0 system sh/cfg.sh -n dnode8 -c mnodeEqualVnodeNum -v 0 print ============== step1 print ========= start dnode1 system sh/exec.sh -n dnode1 -s start sql connect sleep 4001 sql create dnode $hostname2 sql create dnode $hostname3 system sh/exec.sh -n dnode2 -s start system sh/exec.sh -n dnode3 -s start sleep 4001 sql create database c_b2_d1 replica 2 maxTables 4 sql use c_b2_d1 sql create table c_b2_t1 (t timestamp, i int) sql insert into c_b2_t1 values(1520000020015, 15) sql insert into c_b2_t1 values(1520000021014, 14) sql insert into c_b2_t1 values(1520000022013, 13) sql insert into c_b2_t1 values(1520000023012, 12) sql insert into c_b2_t1 values(1520000024011, 11) sql create database c_b2_d2 replica 2 maxTables 4 sql use c_b2_d2 sql create table c_b2_t2 (t timestamp, i int) sql insert into c_b2_t2 values(1520000020025, 25) sql insert into c_b2_t2 values(1520000021024, 24) sql insert into c_b2_t2 values(1520000022023, 23) sql insert into c_b2_t2 values(1520000023022, 22) sql insert into c_b2_t2 values(1520000024021, 21) sql create database c_b2_d3 replica 2 maxTables 4 sql use c_b2_d3 sql create table c_b2_t3 (t timestamp, i int) sql insert into c_b2_t3 values(1520000020035, 35) sql insert into c_b2_t3 values(1520000021034, 34) sql insert into c_b2_t3 values(1520000022033, 33) sql insert into c_b2_t3 values(1520000023032, 32) sql insert into c_b2_t3 values(1520000024031, 31) $x = 0 show1: $x = $x + 1 sleep 3000 if $x == 20 then return -1 endi sql show dnodes -x show1 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode2Vnodes = $data2_2 print dnode2 $dnode2Vnodes $dnode3Vnodes = $data2_3 print dnode3 $dnode3Vnodes if $dnode1Vnodes != 2 then goto show1 endi if $dnode2Vnodes != 2 then goto show1 endi if $dnode3Vnodes != 2 then goto show1 endi print ============================== step2 print ========= drop dnode2 sql drop dnode $hostname2 sleep 9000 $x = 0 show2: $x = $x + 1 sleep 3000 if $x == 20 then return -1 endi sql show dnodes -x show2 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode2Vnodes = $data2_2 print dnode2 $dnode2Vnodes $dnode3Vnodes = $data2_3 print dnode3 $dnode3Vnodes if $dnode1Vnodes != 3 then goto show2 endi if $dnode2Vnodes != null then goto show2 endi if $dnode3Vnodes != 3 then goto show2 endi sql show mnodes $dnode1Role = $data2_1 $dnode2Role = $data2_2 $dnode3Role = $data2_3 $dnode4Role = $data2_4 print dnode1 ==> $dnode1Role print dnode2 ==> $dnode2Role print dnode3 ==> $dnode3Role print dnode4 ==> $dnode4Role system sh/exec.sh -n dnode2 -s stop -x SIGINT print ============================== step3 print ========= start dnode4 sql create dnode $hostname4 system sh/exec.sh -n dnode4 -s start sleep 10000 $x = 0 show3: $x = $x + 1 sleep 3000 if $x == 20 then return -1 endi sql show dnodes -x show3 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode4Vnodes = $data2_4 print dnode4 $dnode4Vnodes $dnode3Vnodes = $data2_3 print dnode3 $dnode3Vnodes if $dnode1Vnodes != 2 then goto show3 endi if $dnode4Vnodes != 2 then goto show3 endi if $dnode3Vnodes != 2 then goto show3 endi sql show mnodes $dnode1Role = $data2_1 $dnode2Role = $data2_2 $dnode3Role = $data2_3 $dnode4Role = $data2_4 print dnode1 ==> $dnode1Role print dnode2 ==> $dnode2Role print dnode3 ==> $dnode3Role print dnode4 ==> $dnode4Role if $dnode1Role != master then return -1 endi if $dnode2Role != null then return -1 endi if $dnode3Role != slave then return -1 endi if $dnode4Role != slave then return -1 endi print ============================== step4 print ========= drop dnode3 sql drop dnode $hostname3 sleep 9000 $x = 0 show4: $x = $x + 1 sleep 3000 if $x == 20 then return -1 endi sql show dnodes -x show4 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode4Vnodes = $data2_4 print dnode4 $dnode4Vnodes $dnode3Vnodes = $data2_3 print dnode3 $dnode3Vnodes if $dnode1Vnodes != 3 then goto show4 endi if $dnode4Vnodes != 3 then goto show4 endi if $dnode3Vnodes != null then goto show4 endi sql show mnodes $dnode1Role = $data2_1 $dnode2Role = $data2_2 $dnode3Role = $data2_3 $dnode4Role = $data2_4 print dnode1 ==> $dnode1Role print dnode2 ==> $dnode2Role print dnode3 ==> $dnode3Role print dnode4 ==> $dnode4Role if $dnode1Role != master then return -1 endi if $dnode2Role != null then return -1 endi if $dnode3Role != null then return -1 endi if $dnode4Role != slave then return -1 endi system sh/exec.sh -n dnode3 -s stop -x SIGINT print ============================== step5 print ========= start dnode3 sql create dnode $hostname5 system sh/exec.sh -n dnode5 -s start sleep 9000 $x = 0 show5: $x = $x + 1 sleep 2000 if $x == 30 then return -1 endi sql show dnodes -x show5 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode4Vnodes = $data2_4 print dnode4 $dnode4Vnodes $dnode5Vnodes = $data2_5 print dnode5 $dnode5Vnodes if $dnode1Vnodes != 2 then goto show5 endi if $dnode4Vnodes != 2 then goto show5 endi if $dnode5Vnodes != 2 then goto show5 endi sql show mnodes $dnode1Role = $data2_1 $dnode4Role = $data2_4 $dnode5Role = $data2_5 print dnode1 ==> $dnode1Role print dnode4 ==> $dnode4Role print dnode5 ==> $dnode5Role print ============================== step6 system sh/exec.sh -n dnode1 -s stop -x SIGINT print stop dnode1 and sleep 10000 sleep 10000 sql drop dnode $hostname1 print drop dnode1 and sleep 9000 sleep 9000 sql show mnodes $dnode1Role = $data2_1 $dnode4Role = $data2_4 $dnode5Role = $data2_5 print dnode1 ==> $dnode1Role print dnode4 ==> $dnode4Role print dnode5 ==> $dnode5Role if $dnode1Role != offline then return -1 endi print ============================== step6.1 system sh/exec.sh -n dnode1 -s start $x = 0 show6: $x = $x + 1 sleep 2000 if $x == 30 then return -1 endi sql show dnodes -x show6 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode4Vnodes = $data2_4 print dnode4 $dnode4Vnodes $dnode5Vnodes = $data2_5 print dnode5 $dnode5Vnodes if $dnode1Vnodes != null then goto show6 endi if $dnode4Vnodes != 3 then goto show6 endi if $dnode5Vnodes != 3 then goto show6 endi sql show mnodes $dnode1Role = $data2_1 $dnode4Role = $data2_4 $dnode5Role = $data2_5 print dnode1 ==> $dnode1Role print dnode4 ==> $dnode4Role print dnode5 ==> $dnode5Role #system sh/exec.sh -n dnode1 -s stop -x SIGINT print ============================== step12 print ========= check data sql reset query cache sleep 1000 sql select * from c_b2_d1.c_b2_t1 order by t desc print $data01 $data11 $data21 $data31 $data41 if $data01 != 11 then return -1 endi if $data11 != 12 then return -1 endi if $data21 != 13 then return -1 endi if $data31 != 14 then return -1 endi if $data41 != 15 then return -1 endi sql select * from c_b2_d2.c_b2_t2 order by t desc print $data01 $data11 $data21 $data31 $data41 if $data01 != 21 then return -1 endi if $data11 != 22 then return -1 endi if $data21 != 23 then return -1 endi if $data31 != 24 then return -1 endi if $data41 != 25 then return -1 endi sql select * from c_b2_d3.c_b2_t3 order by t desc print $data01 $data11 $data21 $data31 $data41 if $data01 != 31 then return -1 endi if $data11 != 32 then return -1 endi if $data21 != 33 then return -1 endi if $data31 != 34 then return -1 endi if $data41 != 35 then return -1 endi print ============================================ over system sh/exec.sh -n dnode1 -s stop -x SIGINT system sh/exec.sh -n dnode2 -s stop -x SIGINT system sh/exec.sh -n dnode3 -s stop -x SIGINT system sh/exec.sh -n dnode4 -s stop -x SIGINT system sh/exec.sh -n dnode5 -s stop -x SIGKILL system sh/exec.sh -n dnode6 -s stop -x SIGINT system sh/exec.sh -n dnode7 -s stop -x SIGINT system sh/exec.sh -n dnode8 -s stop -x SIGINT