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/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 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 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 print ============== step1 print ========= start dnode1 system sh/exec.sh -n dnode1 -s start sql connect sql create dnode $hostname2 sql create dnode $hostname3 system sh/exec.sh -n dnode2 -s start system sh/exec.sh -n dnode3 -s start $x = 0 step1: $x = $x + 1 sleep 1000 if $x == 10 then return -1 endi sql show dnodes print dnode1 $data4_1 print dnode2 $data4_2 print dnode3 $data4_3 if $data4_1 != ready then goto step1 endi if $data4_2 != ready then goto step1 endi if $data4_3 != ready then goto step1 endi sql show mnodes print mnode1 $data2_1 print mnode1 $data2_2 print mnode1 $data2_3 if $data2_1 != master then goto step1 endi if $data2_2 != slave then goto step1 endi if $data2_3 != slave then goto step1 endi sql create database c_b3_d1 replica 3 sql use c_b3_d1 sql create table c_b3_t1 (t timestamp, i int) sql insert into c_b3_t1 values(1520000020015, 15) sql insert into c_b3_t1 values(1520000021014, 14) sql insert into c_b3_t1 values(1520000022013, 13) sql insert into c_b3_t1 values(1520000023012, 12) sql insert into c_b3_t1 values(1520000024011, 11) sql create database c_b3_d2 replica 3 sql use c_b3_d2 sql create table c_b3_t2 (t timestamp, i int) sql insert into c_b3_t2 values(1520000020025, 25) sql insert into c_b3_t2 values(1520000021024, 24) sql insert into c_b3_t2 values(1520000022023, 23) sql insert into c_b3_t2 values(1520000023022, 22) sql insert into c_b3_t2 values(1520000024021, 21) sql create database c_b3_d3 replica 3 sql use c_b3_d3 sql create table c_b3_t3 (t timestamp, i int) sql insert into c_b3_t3 values(1520000020035, 35) sql insert into c_b3_t3 values(1520000021034, 34) sql insert into c_b3_t3 values(1520000022033, 33) sql insert into c_b3_t3 values(1520000023032, 32) sql insert into c_b3_t3 values(1520000024031, 31) $x = 0 show1: $x = $x + 1 sleep 2000 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 != 3 then goto show1 endi if $dnode2Vnodes != 3 then goto show1 endi if $dnode3Vnodes != 3 then goto show1 endi sql show mnodes print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 print ============================== step2 print ========= start dnode4 sql create dnode $hostname4 system sh/exec.sh -n dnode4 -s start $x = 0 show2: $x = $x + 1 sleep 1000 if $x == 40 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 $dnode4Vnodes = $data2_4 print dnode4 $dnode4Vnodes if $dnode4Vnodes != 2 then goto show2 endi sql show mnodes print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 print ============================== step3 print ========= drop dnode2 sql drop dnode $hostname2 $x = 0 show3: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show dnodes -x show3 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode2Vnodes = $data2_2 print dnode2 $dnode2Vnodes $dnode3Vnodes = $data2_3 print dnode3 $dnode3Vnodes $dnode4Vnodes = $data2_4 print dnode4 $dnode4Vnodes if $dnode1Vnodes != 3 then goto show3 endi if $dnode2Vnodes != null then goto show3 endi if $dnode3Vnodes != 3 then goto show3 endi if $dnode4Vnodes != 3 then goto show3 endi sql show mnodes print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 system sh/exec.sh -n dnode2 -s stop -x SIGINT print ============================== step4 sql create dnode $hostname5 system sh/exec.sh -n dnode5 -s start $x = 0 show4: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show dnodes -x show4 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode5Vnodes = $data2_5 print dnode5 $dnode5Vnodes $dnode3Vnodes = $data2_3 print dnode3 $dnode3Vnodes $dnode4Vnodes = $data2_4 print dnode4 $dnode4Vnodes if $dnode5Vnodes != 2 then goto show4 endi sql show mnodes print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 print dnode4 ==> $data2_4 print dnode5 ==> $data2_5 if $data2_4 != slave then goto show4 endi print ============================== step5 print ========= drop dnode3 sql drop dnode $hostname3 sleep 9000 $x = 0 show5: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show dnodes -x show5 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode5Vnodes = $data2_5 print dnode5 $dnode5Vnodes $dnode3Vnodes = $data2_3 print dnode3 $dnode3Vnodes $dnode4Vnodes = $data2_4 print dnode4 $dnode4Vnodes if $dnode1Vnodes != 3 then goto show5 endi if $dnode5Vnodes != 3 then goto show5 endi if $dnode3Vnodes != null then goto show5 endi if $dnode4Vnodes != 3 then goto show5 endi system sh/exec.sh -n dnode3 -s stop -x SIGINT sql show mnodes print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 print dnode4 ==> $data2_4 print dnode5 ==> $data2_5 print dnode6 ==> $data2_6 print dnode7 ==> $data2_7 if $data2_5 != slave then goto show5 endi print ============================== step6 sql create dnode $hostname6 system sh/exec.sh -n dnode6 -s start $x = 0 show6: $x = $x + 1 sleep 1000 if $x == 40 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 $dnode6Vnodes = $data2_6 print dnode6 $dnode6Vnodes if $dnode1Vnodes != 2 then goto show6 endi if $dnode4Vnodes != 2 then goto show6 endi if $dnode5Vnodes != 3 then goto show6 endi if $dnode6Vnodes != 2 then goto show6 endi sql show mnodes print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 print dnode4 ==> $data2_4 print dnode5 ==> $data2_5 print dnode6 ==> $data2_6 print dnode7 ==> $data2_7 print ============================== step7 print ========= drop dnode4 sql drop dnode $hostname4 $x = 0 show7: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show dnodes -x show7 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode4Vnodes = $data2_4 print dnode4 $dnode4Vnodes $dnode5Vnodes = $data2_5 print dnode5 $dnode5Vnodes $dnode6Vnodes = $data2_6 print dnode6 $dnode6Vnodes if $dnode1Vnodes != 3 then goto show7 endi if $dnode5Vnodes != 3 then goto show7 endi if $dnode6Vnodes != 3 then goto show7 endi if $dnode4Vnodes != null then goto show7 endi system sh/exec.sh -n dnode4 -s stop -x SIGINT sql show mnodes print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 print dnode4 ==> $data2_4 print dnode5 ==> $data2_5 print dnode6 ==> $data2_6 print dnode7 ==> $data2_7 if $data2_6 != slave then goto show7 endi print ============================== step8 sql create dnode $hostname7 system sh/exec.sh -n dnode7 -s start $x = 0 show8: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show dnodes -x show8 $dnode1Vnodes = $data2_1 print dnode1 $dnode1Vnodes $dnode5Vnodes = $data2_5 print dnode5 $dnode5Vnodes $dnode6Vnodes = $data2_6 print dnode6 $dnode6Vnodes $dnode7Vnodes = $data2_7 print dnode7 $dnode7Vnodes if $dnode1Vnodes != 2 then goto show8 endi if $dnode5Vnodes != 2 then goto show8 endi if $dnode6Vnodes != 3 then goto show8 endi if $dnode7Vnodes != 2 then goto show8 endi sql show mnodes print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 print dnode4 ==> $data2_4 print dnode5 ==> $data2_5 print dnode6 ==> $data2_6 print dnode7 ==> $data2_7 print ============================== step9 system sh/exec.sh -n dnode1 -s stop -x SIGINT $x = 0 show9: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show mnodes -x show9 print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 print dnode4 ==> $data2_4 print dnode5 ==> $data2_5 print dnode6 ==> $data2_6 print dnode7 ==> $data2_7 if $data2_1 != offline then goto show9 endi if $data2_5 != master then goto show9 endi if $data2_6 != slave then goto show9 endi print ============================== step10 sql drop dnode $hostname1 $x = 0 show10: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show mnodes -x show10 print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 print dnode4 ==> $data2_4 print dnode5 ==> $data2_5 print dnode6 ==> $data2_6 print dnode7 ==> $data2_7 if $data2_1 != null then goto show10 endi if $data2_5 != master then goto show10 endi if $data2_6 != slave then goto show10 endi if $data2_7 != slave then goto show10 endi print ============================== step11 system sh/exec.sh -n dnode1 -s start $x = 0 show11: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show dnodes -x show11 $dnode5Vnodes = $data2_5 print dnode5 $dnode5Vnodes $dnode6Vnodes = $data2_6 print dnode6 $dnode6Vnodes $dnode7Vnodes = $data2_7 print dnode7 $dnode7Vnodes if $dnode5Vnodes != 3 then goto show11 endi if $dnode6Vnodes != 3 then goto show11 endi if $dnode7Vnodes != 3 then goto show11 endi system sh/exec.sh -n dnode1 -s stop -x SIGINT sql show mnodes print dnode1 ==> $data2_1 print dnode2 ==> $data2_2 print dnode3 ==> $data2_3 print dnode4 ==> $data2_4 print dnode5 ==> $data2_5 print dnode6 ==> $data2_6 print dnode7 ==> $data2_7 print ============================== step12 sql create database c_b3_d4 replica 3 sql use c_b3_d4 $x = 0 create4: $x = $x + 1 sleep 1000 if $x == 20 then return -1 endi sql create table c_b3_t4 (t timestamp, i int) -x create4 sql insert into c_b3_t4 values(1520000020045, 45) sql insert into c_b3_t4 values(1520000021044, 44) sql insert into c_b3_t4 values(1520000022043, 43) sql insert into c_b3_t4 values(1520000023042, 42) sql insert into c_b3_t4 values(1520000024041, 41) $x = 0 show12: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show dnodes -x show12 $dnode5Vnodes = $data2_5 print dnode5 $dnode5Vnodes $dnode6Vnodes = $data2_6 print dnode6 $dnode6Vnodes $dnode7Vnodes = $data2_7 print dnode7 $dnode7Vnodes if $dnode5Vnodes != 4 then goto show12 endi if $dnode6Vnodes != 4 then goto show12 endi if $dnode7Vnodes != 4 then goto show12 endi print ============================== step13 sql reset query cache sleep 200 print ========= check data sql select * from c_b3_d1.c_b3_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_b3_d2.c_b3_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_b3_d3.c_b3_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 SIGINT system sh/exec.sh -n dnode6 -s stop -x SIGINT system sh/exec.sh -n dnode7 -s stop -x SIGINT