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/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 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 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 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 $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 != null then goto step1 endi if $data2_3 != null then goto step1 endi print ======== step1 sql create database d1 replica 3 sql create database d2 replica 3 sql create database d3 replica 3 sql create database d4 replica 3 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 d2.t2 values(now, 1) sql insert into d1.t1 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 print ========= step2 alter db 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 1000 if $x == 40 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 print ========= step3 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) 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 200 print ========= step4 system sh/exec.sh -n dnode2 -s stop -x SIGINT sleep 3000 sql insert into d1.t1 values(now, 3) -x s41 s41: sql insert into d2.t2 values(now, 3) -x s42 s42: sql insert into d3.t3 values(now, 3) -x s43 s43: sql insert into d4.t4 values(now, 3) -x s44 s44: sql select * from d1.t1 -x s45 s45: sql select * from d2.t2 -x s46 s46: sql select * from d3.t3 -x s47 s47: sql select * from d4.t4 -x s48 s48: print ========= step5 system sh/exec.sh -n dnode2 -s start $x = 0 step5: $x = $x + 1 sleep 1000 if $x == 40 then return -1 endi sql show d1.vgroups print online vnodes $data03 if $data03 != 2 then goto step5 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 2 then goto step5 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 2 then goto step5 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 2 then goto step5 endi system sh/exec.sh -n dnode3 -s stop -x SIGINT sql reset query cache sleep 100 sql_error insert into d1.t1 values(now, 3) -x s51 s51: sql_error insert into d2.t2 values(now, 3) -x s52 s52: sql_error insert into d3.t3 values(now, 3) -x s53 s53: sql_error insert into d4.t4 values(now, 3) -x s54 s54: print ========= step6 system sh/exec.sh -n dnode3 -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 != 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, 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 print d1.t1 $rows sql select * from d2.t2 print d2.t2 $rows sql select * from d3.t3 print d3.t3 $rows sql select * from d4.t4 print d4.t4 $rows 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