replica_changeWithArbitrator.sim 2.2 KB
Newer Older
H
Hui Li 已提交
1 2 3 4 5
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

6 7 8
system sh/cfg.sh -n dnode1 -c numOfMnodes -v 2
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 2
system sh/cfg.sh -n dnode3 -c numOfMnodes -v 2
H
Hui Li 已提交
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

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 ============== 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

if $dnodeRole != master then
  goto loop_wait
endi