alter_replica_13.sim 3.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
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/deploy.sh -n dnode4 -i 4
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode4 -s start
sql connect

print =============== step1: create dnodes
sql create dnode $hostname port 7200

S
Shengliang Guan 已提交
15
$x = 0
16
step1:
S
Shengliang Guan 已提交
17
	$ = $x + 1
18
	sleep 1000
S
Shengliang Guan 已提交
19
	if $x == 10 then
20 21 22
	  print ====> dnode not ready!
		return -1
	endi
X
Xiaoyu Wang 已提交
23
sql select * from information_schema.ins_dnodes
24 25 26 27 28 29 30 31 32 33 34 35 36 37
print ===> $data00 $data01 $data02 $data03 $data04 $data05
print ===> $data10 $data11 $data12 $data13 $data14 $data15
if $rows != 2 then
  return -1
endi
if $data(1)[4] != ready then
  goto step1
endi
if $data(2)[4] != ready then
  goto step1
endi

print =============== step2: create database
sql create database db vgroups 1
X
Xiaoyu Wang 已提交
38
sql select * from information_schema.ins_databases
G
Ganlin Zhao 已提交
39
if $rows != 3 then
40 41
  return -1
endi
G
Ganlin Zhao 已提交
42
if $data(db)[4] != 1 then
43 44 45
  return -1
endi

X
Xiaoyu Wang 已提交
46
sql select * from information_schema.ins_dnodes
47 48 49 50 51
if $data(2)[2] != 1 then
  return -1
endi

# vnodes
X
Xiaoyu Wang 已提交
52
sql select * from information_schema.ins_dnodes
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
if $data(2)[2] != 1 then
  return -1
endi

# v1_dnode
sql show db.vgroups
if $data(2)[3] != 2 then
  return -1
endi

sql_error alter database db replica 3
sql create table db.stb (ts timestamp, c1 int, c2 binary(4)) tags(t1 int, t2 binary(16)) comment "abd"
sql create table db.ctb using db.stb tags(101, "102")
sql insert into db.ctb values(now, 1, "2")
sql select * from db.stb
if $rows != 1 then
  return -1
endi

print =============== step3: create dnodes
sql create dnode $hostname port 7300
sql create dnode $hostname port 7400

S
Shengliang Guan 已提交
76
$x = 0
77
step3:
S
Shengliang Guan 已提交
78
	$x = $x + 1
79
	sleep 1000
S
Shengliang Guan 已提交
80
	if $x == 10 then
81 82 83
	  print ====> dnode not ready!
		return -1
	endi
X
Xiaoyu Wang 已提交
84
sql select * from information_schema.ins_dnodes
G
Ganlin Zhao 已提交
85
print ===> rows: $rows
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
print ===> $data00 $data01 $data02 $data03 $data04 $data05
print ===> $data10 $data11 $data12 $data13 $data14 $data15
print ===> $data20 $data21 $data22 $data23 $data24 $data25
print ===> $data30 $data31 $data32 $data33 $data24 $data35
if $rows != 4 then
  return -1
endi
if $data(1)[4] != ready then
  goto step3
endi
if $data(2)[4] != ready then
  goto step3
endi
if $data(3)[4] != ready then
  goto step3
endi
if $data(4)[4] != ready then
  goto step3
endi

print ============= step4: alter database
sql alter database db replica 3
S
Shengliang Guan 已提交
108 109 110 111 112 113 114 115 116 117

$x = 0
step4:
	$x = $x + 1
	sleep 1000
	if $x == 10 then
	  print ====> dnode not ready!
		return -1
	endi
sql show db.vgroups
G
Ganlin Zhao 已提交
118
print ===> rows: $rows
S
Shengliang Guan 已提交
119
print ===> $data00 $data01 $data02 $data03 $data04 $data05
120
if $data[0][4] != leader then
S
Shengliang Guan 已提交
121
  goto step4
122
endi
123
if $data[0][6] != follower then
S
Shengliang Guan 已提交
124
  goto step4
125
endi
126
if $data[0][8] != follower then
S
Shengliang Guan 已提交
127 128 129
  goto step4
endi

S
Shengliang Guan 已提交
130 131
print ============= step5: result
$i = 0
S
Shengliang Guan 已提交
132
while $i < 10
S
Shengliang Guan 已提交
133 134 135 136 137 138 139 140
  $i = $i + 1

  sleep 1000
  sql show db.vgroups
  print ===> loop: $i | v0: $data03 $data04 | v1: $data05 $data06 | v2:  $data07 $data08 
  if $data[0][4] != leader then
    return -1
  endi
141
  if $data[0][6] == leader then
S
Shengliang Guan 已提交
142 143
    return -1
  endi
144
  if $data[0][8] == leader then
S
Shengliang Guan 已提交
145 146 147
    return -1
  endi
endw 
148

S
Shengliang Guan 已提交
149 150

print ============= step5: stop dnode 2
151 152 153 154 155
sql select * from db.stb
if $rows != 1 then
  return -1
endi

S
Shengliang Guan 已提交
156
return
157 158 159
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
G
Ganlin Zhao 已提交
160
system sh/exec.sh -n dnode4 -s stop -x SIGINT