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 $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 print dnode4 $data4_4 if $data4_1 != ready then goto step1 endi if $data4_2 != ready then goto step1 endi if $data4_3 != ready then goto step1 endi if $data4_4 != 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 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) 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 1000 if $x == 40 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 print ======== step3 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) 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 100 system sh/exec.sh -n dnode2 -s stop -x SIGINT 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) 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 $x = 0 step6: $x = $x + 1 sleep 1000 if $x == 40 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 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) 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 $x = 0 step7: $x = $x + 1 sleep 1000 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 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) 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 $x = 0 step8: $x = $x + 1 sleep 1000 if $x == 40 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 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) 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