system sh/stop_dnodes.sh system sh/ip.sh -i 1 -s up system sh/ip.sh -i 2 -s up system sh/ip.sh -i 3 -s up system sh/ip.sh -i 4 -s up system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1 system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 system sh/deploy.sh -n dnode4 -m 192.168.0.1 -i 192.168.0.4 system sh/cfg.sh -n dnode1 -c clog -v 2 system sh/cfg.sh -n dnode2 -c clog -v 2 system sh/cfg.sh -n dnode3 -c clog -v 2 system sh/cfg.sh -n dnode4 -c clog -v 2 system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode4 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode1 -c mgmtEqualVnodeNum -v 4 system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 4 system sh/cfg.sh -n dnode3 -c mgmtEqualVnodeNum -v 4 system sh/cfg.sh -n dnode4 -c mgmtEqualVnodeNum -v 4 system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4 print ========= start dnodes system sh/exec.sh -n dnode1 -s start sql connect sql create dnode 192.168.0.2 system sh/exec.sh -n dnode2 -s start sql create dnode 192.168.0.3 system sh/exec.sh -n dnode3 -s start sql create dnode 192.168.0.4 system sh/exec.sh -n dnode4 -s start sleep 3000 print ======== step1 sql create database d1 replica 2 sql create database d2 replica 2 sql create database d3 replica 2 sql create database d4 replica 2 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 sql alter database d1 replica 3 sql alter database d2 replica 3 sql alter database d3 replica 3 sql alter database d4 replica 3 sleep 12000 print ======== step3 $x = 0 show3: $x = $x + 1 sleep 2000 if $x == 10 then return -1 endi sql show dnodes print dnode192.168.0.1 ==> openVnodes: $data2_192.168.0.1 freeVnodes: $data3_192.168.0.1 print dnode192.168.0.2 ==> openVnodes: $data2_192.168.0.2 freeVnodes: $data3_192.168.0.2 print dnode192.168.0.3 ==> openVnodes: $data2_192.168.0.3 freeVnodes: $data3_192.168.0.3 print dnode192.168.0.4 ==> openVnodes: $data2_192.168.0.4 freeVnodes: $data3_192.168.0.4 if $data2_192.168.0.1 != 0 then goto show3 endi if $data2_192.168.0.2 != 4 then goto show3 endi if $data2_192.168.0.3 != 4 then goto show3 endi if $data2_192.168.0.4 != 4 then goto show3 endi if $data3_192.168.0.1 != 4 then goto show3 endi if $data3_192.168.0.2 != 0 then goto show3 endi if $data3_192.168.0.3 != 0 then goto show3 endi if $data3_192.168.0.4 != 0 then goto show3 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) 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 sleep 10000 print ========= step5 system sh/exec.sh -n dnode2 -s stop -x SIGINT sleep 3000 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 ========= step6 system sh/exec.sh -n dnode2 -s start sleep 5000 system sh/exec.sh -n dnode3 -s stop -x SIGINT sleep 3000 sql insert into d1.t1 values(now, 4) sql insert into d2.t2 values(now, 4) sql insert into d3.t3 values(now, 4) sql insert into d4.t4 values(now, 4) 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 print ========= step7 system sh/exec.sh -n dnode3 -s start sleep 5000 system sh/exec.sh -n dnode4 -s stop -x SIGINT sleep 3000 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) 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 system sh/exec.sh -n dnode2 -s stop -x SIGINT sleep 3000 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 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