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 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(now, 1) sql insert into d2.t2 values(now, 1) sql insert into d3.t3 values(now, 1) sql insert into d4.t4 values(now, 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 sleep 2000 sql show dnodes print dnode1 ==> openVnodes: $data2_1 print dnode2 ==> openVnodes: $data2_2 print dnode3 ==> openVnodes: $data2_3 if $data2_1 != 0 then return -1 endi if $data2_2 != 2 then return -1 endi if $data2_3 != 2 then return -1 endi print ======== step2 sql alter database d1 replica 2 sql alter database d2 replica 2 sql alter database d3 replica 2 sql alter database d4 replica 2 $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 != 2 then goto a1 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 2 then goto a1 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 2 then goto a1 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 2 then goto a1 endi sleep 10000 print ======== step3 sql show dnodes print dnode1 ==> openVnodes: $data2_1 print dnode2 ==> openVnodes: $data2_2 print dnode3 ==> openVnodes: $data2_3 if $data2_1 != 0 then return -1 endi if $data2_2 != 4 then return -1 endi if $data2_3 != 4 then return -1 endi print ======== step4 sql insert into d1.t1 values(now, 2) sql insert into d2.t2 values(now, 2) sql insert into d3.t3 values(now, 2) sql insert into d4.t4 values(now, 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 sql reset query cache sleep 2000 print ========= step5 system sh/exec.sh -n dnode2 -s stop -x SIGINT sleep 5000 sql_error select * from d1.t1 sql_error select * from d2.t2 sql_error select * from d3.t3 sql_error select * from d4.t4 print ===== insert data sql_error insert into d1.t1 values(now, 3) sql_error insert into d2.t2 values(now, 3) sql_error insert into d3.t3 values(now, 3) sql_error insert into d4.t4 values(now, 3) sleep 1000 print ========= step6 system sh/exec.sh -n dnode2 -s start sleep 5000 $x = 0 step6: $x = $x + 1 sleep 2000 if $x == 10 then return -1 endi sql show d1.vgroups print online vnodes $data03 if $data03 != 2 then goto step6 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 2 then goto step6 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 2 then goto step6 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 2 then goto step6 endi sql insert into d1.t1 values(now, 3) sql insert into d2.t2 values(now, 3) sql insert into d3.t3 values(now, 3) sql insert into d4.t4 values(now, 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 ========= step61 system sh/exec.sh -n dnode3 -s stop -x SIGINT sleep 5000 sql_error insert into d1.t1 values(now, 3) sql_error insert into d2.t2 values(now, 3) sql_error insert into d3.t3 values(now, 3) sql_error insert into d4.t4 values(now, 3) sleep 1000 sql_error select * from d1.t1 sql_error select * from d2.t2 sql_error select * from d3.t3 sql_error select * from d4.t4 print ========= step7 system sh/exec.sh -n dnode3 -s start sleep 5000 $x = 0 step7: $x = $x + 1 sleep 2000 if $x == 10 then return -1 endi sql show d1.vgroups print online vnodes $data03 if $data03 != 2 then goto step7 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 2 then goto step7 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 2 then goto step7 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 2 then goto step7 endi sql insert into d1.t1 values(now, 5) sql insert into d2.t2 values(now, 5) sql insert into d3.t3 values(now, 5) sql insert into d4.t4 values(now, 5) sleep 1000 sql select * from d1.t1 if $rows != 4 then return -1 endi sql select * from d2.t2 if $rows != 4 then return -1 endi sql select * from d3.t3 if $rows != 4 then return -1 endi sql select * from d4.t4 if $rows != 4 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