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/cfg.sh -n dnode1 -c wallevel -v 2 system sh/cfg.sh -n dnode2 -c wallevel -v 2 system sh/cfg.sh -n dnode3 -c wallevel -v 2 system sh/cfg.sh -n dnode4 -c wallevel -v 2 system sh/cfg.sh -n dnode1 -c numOfMnodes -v 1 system sh/cfg.sh -n dnode2 -c numOfMnodes -v 1 system sh/cfg.sh -n dnode3 -c numOfMnodes -v 1 system sh/cfg.sh -n dnode4 -c numOfMnodes -v 1 system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4 system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4 system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4 system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4 system sh/cfg.sh -n dnode1 -c balanceInterval -v 1 system sh/cfg.sh -n dnode2 -c balanceInterval -v 1 system sh/cfg.sh -n dnode3 -c balanceInterval -v 1 system sh/cfg.sh -n dnode4 -c balanceInterval -v 1 print ========= start dnodes system sh/exec.sh -n dnode1 -s start sql connect sql create dnode $hostname2 system sh/exec.sh -n dnode2 -s start sql create dnode $hostname3 system sh/exec.sh -n dnode3 -s start sql create dnode $hostname4 system sh/exec.sh -n dnode4 -s start sleep 3000 print ======== step1 sql create database d1 replica 1 sql create database d2 replica 1 sql create database d3 replica 1 sql create database d4 replica 1 sql create table d1.t1 (ts timestamp, i int) sql create table d2.t2 (ts timestamp, i int) sql create table d3.t3 (ts timestamp, i int) sql create table d4.t4 (ts timestamp, i int) sql insert into d1.t1 values(1589529000011, 1) sql insert into d2.t2 values(1589529000021, 1) sql insert into d3.t3 values(1589529000031, 1) sql insert into d4.t4 values(1589529000041, 1) sleep 1000 sql select * from d1.t1 if $rows != 1 then return -1 endi sql select * from d2.t2 if $rows != 1 then return -1 endi sql select * from d3.t3 if $rows != 1 then return -1 endi sql select * from d4.t4 if $rows != 1 then return -1 endi print ======== step2 sql alter database d1 replica 3 sql alter database d2 replica 3 sql alter database d3 replica 3 sql alter database d4 replica 3 $x = 0 a1: $x = $x + 1 sleep 2000 if $x == 20 then return -1 endi sql show d1.vgroups print online vnodes $data03 if $data03 != 3 then goto a1 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 3 then goto a1 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 3 then goto a1 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 3 then goto a1 endi sleep 5000 print ======== step3 $x = 0 show3: $x = $x + 1 sleep 2000 if $x == 20 then return -1 endi sql show dnodes print dnode1 ==> openVnodes: $data2_1 print dnode2 ==> openVnodes: $data2_2 print dnode3 ==> openVnodes: $data2_3 print dnode4 ==> openVnodes: $data2_4 if $data2_1 != 0 then return -1 endi if $data2_2 != 4 then return -1 endi if $data2_3 != 4 then return -1 endi if $data2_3 != 4 then return -1 endi print ======== step4 sql insert into d1.t1 values(1589529000012, 2) sql insert into d2.t2 values(1589529000022, 2) sql insert into d3.t3 values(1589529000032, 2) sql insert into d4.t4 values(1589529000042, 2) sleep 1000 sql select * from d1.t1 if $rows != 2 then return -1 endi sql select * from d2.t2 if $rows != 2 then return -1 endi sql select * from d3.t3 if $rows != 2 then return -1 endi sql select * from d4.t4 if $rows != 2 then return -1 endi print ========= step5 sql reset query cache sleep 1000 system sh/exec.sh -n dnode2 -s stop -x SIGINT sleep 5000 sql insert into d1.t1 values(1589529000013, 3) sql insert into d2.t2 values(1589529000023, 3) sql insert into d3.t3 values(1589529000033, 3) sql insert into d4.t4 values(1589529000043, 3) sleep 1000 sql select * from d1.t1 if $rows != 3 then return -1 endi sql select * from d2.t2 if $rows != 3 then return -1 endi sql select * from d3.t3 if $rows != 3 then return -1 endi sql select * from d4.t4 if $rows != 3 then return -1 endi print ========= step6 system sh/exec.sh -n dnode2 -s start sleep 5000 $x = 0 step6: $x = $x + 1 sleep 2000 if $x == 20 then return -1 endi sql show d1.vgroups print online vnodes $data03 if $data03 != 3 then goto step6 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 3 then goto step6 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 3 then goto step6 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 3 then goto step6 endi system sh/exec.sh -n dnode3 -s stop -x SIGINT sleep 5000 sql insert into d1.t1 values(1589529000014, 4) sql insert into d2.t2 values(1589529000024, 4) sql insert into d3.t3 values(1589529000034, 4) sql insert into d4.t4 values(1589529000044, 4) sleep 1000 sql select * from d1.t1 print select * from d1.t1 $rows if $rows != 4 then return -1 endi sql select * from d2.t2 print select * from d2.t2 $rows if $rows != 4 then return -1 endi sql select * from d3.t3 print select * from d3.t3 $rows if $rows != 4 then return -1 endi sql select * from d4.t4 print select * from d4.t4 $rows if $rows != 4 then return -1 endi print ========= step7 system sh/exec.sh -n dnode3 -s start sleep 5000 $x = 0 step7: $x = $x + 1 sleep 2000 if $x == 20 then return -1 endi sql show d1.vgroups print online vnodes $data03 if $data03 != 3 then goto step7 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 3 then goto step7 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 3 then goto step7 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 3 then goto step7 endi system sh/exec.sh -n dnode4 -s stop -x SIGINT sleep 5000 sql insert into d1.t1 values(1589529000015, 5) sql insert into d2.t2 values(1589529000025, 5) sql insert into d3.t3 values(1589529000035, 5) sql insert into d4.t4 values(1589529000045, 5) sleep 1000 sql select * from d1.t1 if $rows != 5 then return -1 endi sql select * from d2.t2 if $rows != 5 then return -1 endi sql select * from d3.t3 if $rows != 5 then return -1 endi sql select * from d4.t4 if $rows != 5 then return -1 endi print ========= step8 system sh/exec.sh -n dnode4 -s start sleep 5000 $x = 0 step8: $x = $x + 1 sleep 2000 if $x == 20 then return -1 endi sql show d1.vgroups print online vnodes $data03 if $data03 != 3 then goto step8 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 3 then goto step8 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 3 then goto step8 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 3 then goto step8 endi system sh/exec.sh -n dnode2 -s stop -x SIGINT sleep 5000 sql insert into d1.t1 values(1589529000016, 6) sql insert into d2.t2 values(1589529000026, 6) sql insert into d3.t3 values(1589529000036, 6) sql insert into d4.t4 values(1589529000046, 6) sleep 1000 sql select * from d1.t1 if $rows != 6 then return -1 endi sql select * from d2.t2 if $rows != 6 then return -1 endi sql select * from d3.t3 if $rows != 6 then return -1 endi sql select * from d4.t4 if $rows != 6 then return -1 endi 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 system sh/exec.sh -n dnode8 -s stop -x SIGINT