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 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 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 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 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 print ========= step2 alter db sql_error alter database d1 replica 1 sql_error alter database d2 replica 1 sql_error alter database d3 replica 1 sql_error alter database d4 replica 1 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 a2: $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 a2 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 2 then goto a2 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 2 then goto a2 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 2 then goto a2 endi sql alter database d1 replica 1 sql alter database d2 replica 1 sql alter database d3 replica 1 sql alter database d4 replica 1 $x = 0 a1: $x = $x + 1 sleep 1000 if $x == 20 then return -1 endi sql show d1.vgroups print online vnodes $data03 if $data03 != 1 then goto a1 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 1 then goto a1 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 1 then goto a1 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 1 then goto a1 endi sql show dnodes print $data00 $data01 $data02 $data03 print $data10 $data11 $data12 $data13 print $data20 $data21 $data22 $data23 if $data02 != 0 then goto a1 endi if $data12 != 2 then goto a1 endi if $data22 != 2 then goto a1 endi print ========= step3 sql reset query cache sleep 100 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 print ========= step4 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 step4: $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 step4 endi sql show d2.vgroups print online vnodes $data03 if $data03 != 2 then goto step4 endi sql show d3.vgroups print online vnodes $data03 if $data03 != 2 then goto step4 endi sql show d4.vgroups print online vnodes $data03 if $data03 != 2 then goto step4 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 ========= step4 system sh/exec.sh -n dnode2 -s stop -x SIGINT sql reset query cache sleep 100 #sql insert into d1.t1 values(now, 4) -x step1 #step1: #sql insert into d2.t2 values(now, 4) -x step2 #step2: #sql insert into d3.t3 values(now, 4) -x step3 #step3: #sql insert into d4.t4 values(now, 4) -x step4 #step4: print ========= step5 system sh/exec.sh -n dnode2 -s start system sh/exec.sh -n dnode3 -s stop -x SIGINT #sql insert into d1.t1 values(now, 5) -x step5 #step5: #sql insert into d2.t2 values(now, 5) -x step6 #step6: #sql insert into d3.t3 values(now, 5) -x step7 #step7: #sql insert into d4.t4 values(now, 5) -x step8 #step8: print ========= step6 system sh/exec.sh -n dnode3 -s start sql insert into d1.t1 values(now, 6) sql insert into d2.t2 values(now, 6) sql insert into d3.t3 values(now, 6) sql insert into d4.t4 values(now, 6) sql select * from d1.t1 sql select * from d2.t2 sql select * from d3.t3 sql select * from d4.t4 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