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 numOfMPeers -v 2 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 2 system sh/cfg.sh -n dnode3 -c numOfMPeers -v 2 system sh/cfg.sh -n dnode1 -c walLevel -v 1 system sh/cfg.sh -n dnode2 -c walLevel -v 1 system sh/cfg.sh -n dnode3 -c walLevel -v 1 system sh/cfg.sh -n dnode1 -c balanceInterval -v 10 system sh/cfg.sh -n dnode2 -c balanceInterval -v 10 system sh/cfg.sh -n dnode3 -c balanceInterval -v 10 system sh/cfg.sh -n dnode1 -c arbitrator -v $arbitrator system sh/cfg.sh -n dnode2 -c arbitrator -v $arbitrator system sh/cfg.sh -n dnode3 -c arbitrator -v $arbitrator print ============== step0: start tarbitrator system sh/exec_tarbitrator.sh -s start print ============== step1: replica is 1, and start 1 dnode system sh/exec_up.sh -n dnode1 -s start sleep 3000 sql connect $db = replica_db1 sql create database $db replica 1 maxTables 4 sql use $db # create table , insert data $stb = repl_stb sql create table $stb (ts timestamp, c1 int) tags(t1 int) $rowNum = 10 $tblNum = 12 $ts0 = 1420041600000 $ts = $ts0 $delta = 1 $i = 0 while $i < $tblNum $tb = tb . $i sql create table $tb using $stb tags( $i ) $x = 0 while $x < $rowNum $xs = $x * $delta $ts = $ts0 + $xs sql insert into $tb values ( $ts , $x ) $x = $x + 1 endw $i = $i + 1 endw print ============== step2: add 1 new dnode, expect balanced system sh/exec_up.sh -n dnode2 -s start sql create dnode $hostname2 # expect after balanced, 2 vondes in dnode1, 1 vonde in dnode2 $x = 0 show2: $x = $x + 1 sleep 2000 if $x == 10 then return -1 endi sql show dnodes print dnode1 openVnodes $data2_1 print dnode2 openVnodes $data2_2 if $data2_1 != 2 then goto show2 endi if $data2_2 != 1 then goto show2 endi #print ============== step3: start tarbitrator #system sh/exec_tarbitrator.sh -s start return 1 print ============== step4: stop dnode1, and wait dnode2 master system sh/exec_up.sh -n dnode1 -s stop $x = 0 loop_wait: $x = $x + 1 sleep 2000 if $x == 10 then print ERROR: after dnode1 stop, dnode2 didn't become a master! return -1 endi sql show mnodes $dnodeRole = $data2_1 print dnodeRole ==> $dnodeRole print dnodeEp ==> $data1_1 print hostname1 ==> $hostname1 print arbitrator ==> $arbitrator if $dnodeRole != master then goto loop_wait endi # alter replica to 2 #print ============== step3: alter replica to 2 #sql alter database $db replica 2 #$x = 0 #show2: # $x = $x + 1 # sleep 2000 # if $x == 10 then # return -1 # endi # #sql show mnodes #print dnode1 ==> $data2_1 #print dnode2 ==> $data2_2 #if $data2_1 != master then # goto show2 #endi #if $data2_2 != slave then # goto show2 #endi # #print ============== step3 #sql_error drop dnode $hostname1 -x error1 #print should not drop master # #print ============== step4 #system sh/exec_up.sh -n dnode1 -s stop -x SIGINT #sql_error show mnodes #print error of no master # #print ============== step5 #sql_error drop dnode $hostname1 #print error of no master # #print ============== step6 #system sh/exec_up.sh -n dnode1 -s start #sleep 2000 #sql close #sql connect # #$x = 0 #show6: # $x = $x + 1 # sleep 2000 # if $x == 10 then # return -1 # endi # #sql show mnodes -x show6 #print dnode1 ==> $data2_1 #print dnode2 ==> $data2_2 #if $data2_1 != master then # goto show6 #endi #if $data2_2 != slave then # goto show6 #endi # #print ============== step7 #system sh/exec_up.sh -n dnode3 -s start #sql create dnode $hostname3 #sleep 5000 # #$x = 0 #show7: # $x = $x + 1 # sleep 2000 # if $x == 10 then # return -1 # endi # #sql show mnodes #print dnode1 ==> $data2_1 #print dnode2 ==> $data2_2 #print dnode3 ==> $data2_3 #if $data2_1 != master then # goto show7 #endi #if $data2_2 != slave then # goto show7 #endi #if $data3_3 != null then # goto show7 #endi # #system sh/exec_up.sh -n dnode1 -s stop -x SIGINT #system sh/exec_up.sh -n dnode2 -s stop -x SIGINT #system sh/exec_up.sh -n dnode3 -s stop -x SIGINT #system sh/exec_up.sh -n dnode4 -s stop -x SIGINT #system sh/exec_up.sh -n dnode5 -s stop -x SIGINT #system sh/exec_up.sh -n dnode6 -s stop -x SIGINT #system sh/exec_up.sh -n dnode7 -s stop -x SIGINT #system sh/exec_up.sh -n dnode8 -s stop -x SIGINT