dn3_mn1_vnode_change.sim 10.1 KB
Newer Older
H
Hui Li 已提交
1 2 3 4 5 6 7 8 9
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/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
H
Hui Li 已提交
10
system sh/cfg.sh -n dnode4 -c numOfMnodes -v 1
H
Hui Li 已提交
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

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 dnode4 -c walLevel -v 2

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 dnode4 -c balanceInterval -v 10

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

system sh/cfg.sh -n dnode1 -c alternativeRole -v 1
system sh/cfg.sh -n dnode2 -c alternativeRole -v 2
system sh/cfg.sh -n dnode3 -c alternativeRole -v 2
system sh/cfg.sh -n dnode4 -c alternativeRole -v 2

S
scripts  
Shengliang Guan 已提交
32 33 34 35 36 37 38 39 40 41
$totalTableNum = 10
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v $totalTableNum
system sh/cfg.sh -n dnode2 -c maxtablesPerVnode -v $totalTableNum
system sh/cfg.sh -n dnode3 -c maxtablesPerVnode -v $totalTableNum
system sh/cfg.sh -n dnode4 -c maxtablesPerVnode -v $totalTableNum

system sh/cfg.sh -n dnode1 -c maxVgroupsPerDb -v 1
system sh/cfg.sh -n dnode2 -c maxVgroupsPerDb -v 1
system sh/cfg.sh -n dnode3 -c maxVgroupsPerDb -v 1
system sh/cfg.sh -n dnode4 -c maxVgroupsPerDb -v 1
H
Hui Li 已提交
42 43 44 45

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
H
Hui Li 已提交
46
system sh/cfg.sh -n dnode4 -c arbitrator -v $arbitrator
H
Hui Li 已提交
47 48 49 50 51 52 53 54 55

print ============== step0: start tarbitrator
system sh/exec_tarbitrator.sh -s start

print ============== step1: start dnode1, only deploy mnode
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect

H
Hui Li 已提交
56
print ============== step2: start dnode2/dnode3/dnode4 and add into cluster , then create database with replica 2, and create table, insert data
H
Hui Li 已提交
57 58 59 60 61 62 63 64
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 create dnode $hostname2
sql create dnode $hostname3
sql create dnode $hostname4
sleep 3000

H
Hui Li 已提交
65
$totalTableNum = 10
H
Hui Li 已提交
66 67 68
$sleepTimer = 3000

$db = db
H
Hui Li 已提交
69
sql create database $db replica 2 maxTables $totalTableNum
H
Hui Li 已提交
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 101
sql use $db

# create table , insert data
$stb = stb
sql create table $stb (ts timestamp, c1 int) tags(t1 int)
$rowNum = 100
$tblNum = $totalTableNum
$totalRows = 0
$tsStart = 1420041600000

$i = 0
while $i < $tblNum
  $tb = tb . $i
  sql create table $tb using $stb tags( $i )
 
  $x = 0
  while $x < $rowNum
    $ts = $tsStart + $x
    sql insert into $tb values ( $ts + 0a , $x ) ( $ts + 1a , $x ) ( $ts + 2a , $x ) ( $ts + 3a , $x ) ( $ts + 4a , $x ) ( $ts + 5a , $x ) ( $ts + 6a , $x ) ( $ts + 7a , $x ) ( $ts + 8a , $x ) ( $ts + 9a , $x ) ( $ts + 10a , $x ) ( $ts + 11a , $x ) ( $ts + 12a , $x ) ( $ts + 13a , $x ) ( $ts + 14a , $x ) ( $ts + 15a , $x ) ( $ts + 16a , $x ) ( $ts + 17a , $x ) ( $ts + 18a , $x ) ( $ts + 19a , $x ) ( $ts + 20a , $x ) ( $ts + 21a , $x ) ( $ts + 22a , $x ) ( $ts + 23a , $x ) ( $ts + 24a , $x ) ( $ts + 25a , $x ) ( $ts + 26a , $x ) ( $ts + 27a , $x ) ( $ts + 28a , $x ) ( $ts + 29a , $x ) ( $ts + 30a , $x ) ( $ts + 31a , $x ) ( $ts + 32a , $x ) ( $ts + 33a , $x ) ( $ts + 34a , $x ) ( $ts + 25a , $x ) ( $ts + 26a , $x ) ( $ts + 27a , $x ) ( $ts + 28a , $x ) ( $ts + 29a , $x ) ( $ts + 30a , $x ) ( $ts + 31a , $x ) ( $ts + 32a , $x ) ( $ts + 33a , $x ) ( $ts + 34a , $x ) ( $ts + 35a , $x ) ( $ts + 36a , $x ) ( $ts + 37a , $x ) ( $ts + 38a , $x ) ( $ts + 39a , $x ) ( $ts + 40a , $x ) ( $ts + 41a , $x ) ( $ts + 42a , $x ) ( $ts + 43a , $x ) ( $ts + 44a , $x ) ( $ts + 45a , $x ) ( $ts + 46a , $x ) ( $ts + 47a , $x ) ( $ts + 48a , $x ) ( $ts + 49a , $x ) ( $ts + 50a , $x ) ( $ts + 51a , $x ) ( $ts + 52a , $x ) ( $ts + 53a , $x ) ( $ts + 54a , $x ) ( $ts + 55a , $x ) ( $ts + 56a , $x ) ( $ts + 57a , $x ) ( $ts + 58a , $x ) ( $ts + 59a , $x ) 
    $x = $x + 60
  endw 
  $totalRows = $totalRows + $x
  print       info: inserted $x rows into $tb and totalRows: $totalRows
  $i = $i + 1
endw 

sql select count(*) from $stb
print data00 $data00
if $data00 != $totalRows then
	return -1
endi

H
Hui Li 已提交
102 103 104 105 106 107 108
sql show dnodes
print $data0_1  $data1_1  $data2_1  $data3_1  $data4_1
print $data0_2  $data1_2  $data2_2  $data3_2  $data4_2
print $data0_3  $data1_3  $data2_3  $data3_3  $data4_3
print $data0_4  $data1_4  $data2_4  $data3_4  $data4_4

print ============== step3: stop dnode4, then destroy the contents of its data file
H
Hui Li 已提交
109
system sh/exec.sh -n dnode4 -s stop -x SIGINT
H
Hui Li 已提交
110
sleep $sleepTimer
H
Hui Li 已提交
111
$loopCnt = 0
H
Hui Li 已提交
112
wait_dnode4_offline_0:
H
Hui Li 已提交
113 114 115 116
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
  return -1
endi
H
Hui Li 已提交
117 118 119
sql show dnodes
if $rows != 4 then
  sleep 2000
H
Hui Li 已提交
120
  goto wait_dnode4_offline_0
H
Hui Li 已提交
121 122 123 124
endi
print $data0_1  $data1_1  $data2_1  $data3_1  $data4_1
print $data0_2  $data1_2  $data2_2  $data3_2  $data4_2
print $data0_3  $data1_3  $data2_3  $data3_3  $data4_3
H
Hui Li 已提交
125 126
print $data0_4  $data1_4  $data2_4  $data3_4  $data4_4
$dnode1Status = $data4_1  
H
Hui Li 已提交
127
$dnode2Status = $data4_2
H
Hui Li 已提交
128 129
$dnode3Status = $data4_3  
$dnode4Status = $data4_4 
H
Hui Li 已提交
130

H
Hui Li 已提交
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
if $dnode4Status != offline then
  sleep 2000
  goto wait_dnode4_offline_0
endi

wait_dnode4_vgroup_offline:
sql show vgroups
if $rows != 1 then
  sleep 2000
  goto wait_dnode4_vgroup_offline
endi
print show vgroups:
print $data0_1  $data1_1  $data2_1  $data3_1  $data4_1  $data5_1  $data6_1  $data7_1  $data8_1  $data9_1
print $data0_2  $data1_2  $data2_2  $data3_2  $data4_2  $data5_2  $data6_2  $data7_2  $data8_2  $data9_2
print $data0_3  $data1_3  $data2_3  $data3_3  $data4_3  $data5_3  $data6_3  $data7_3  $data8_3  $data9_3
S
scripts  
Shengliang Guan 已提交
146 147
$dnode4Vtatus = $data6_2
$dnode3Vtatus = $data9_2
H
Hui Li 已提交
148 149 150 151 152 153

if $dnode4Vtatus != offline then
  sleep 2000
  goto wait_dnode4_vgroup_offline
endi
if $dnode3Vtatus != master then
H
Hui Li 已提交
154
  sleep 2000
H
Hui Li 已提交
155
  goto wait_dnode4_vgroup_offline
H
Hui Li 已提交
156 157
endi

H
Hui Li 已提交
158
system echo "haha, nothing......" > ../../../sim/dnode4/data/vnode/vnode2/tsdb/data/v2f1643.data
H
Hui Li 已提交
159
#system rm -rf ../../../sim/dnode4/data/vnode/*
H
Hui Li 已提交
160 161
sleep 1000

H
Hui Li 已提交
162 163 164 165 166 167 168 169 170 171
print ============== step3-1: insert new data 
sql insert into $tb values ( now + 0a , $x ) ( now + 1a , $x ) ( now + 2a , $x )
$totalRows = $totalRows + 3

sql select count(*) from $stb
print data00 $data00
if $data00 != $totalRows then
	return -1
endi

H
Hui Li 已提交
172 173
print ============== step4: restart dnode4, waiting sync end 
system sh/exec.sh -n dnode4 -s start
H
Hui Li 已提交
174
sleep $sleepTimer
H
Hui Li 已提交
175 176

$loopCnt = 0
H
Hui Li 已提交
177
wait_dnode4_reready:
H
Hui Li 已提交
178 179 180 181 182
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
  return -1
endi

H
Hui Li 已提交
183 184 185
sql show dnodes
if $rows != 4 then
  sleep 2000
H
Hui Li 已提交
186
  goto wait_dnode4_reready
H
Hui Li 已提交
187 188 189 190 191 192 193 194 195
endi
print $data0_1  $data1_1  $data2_1  $data3_1  $data4_1
print $data0_2  $data1_2  $data2_2  $data3_2  $data4_2
print $data0_3  $data1_3  $data2_3  $data3_3  $data4_3
#print $data0_4  $data1_4  $data2_4  $data3_4  $data4_4
#print $data0_5  $data1_5  $data2_5  $data3_5  $data4_5
#print $data0_6  $data1_6  $data2_6  $data3_6  $data4_6
#$dnode1Status = $data4_1  
$dnode2Status = $data4_2
H
Hui Li 已提交
196 197
$dnode3Status = $data4_3  
$dnode4Status = $data4_4 
H
Hui Li 已提交
198 199
#$dnode5Status = $data4_5

H
Hui Li 已提交
200
if $dnode4Status != ready then
H
Hui Li 已提交
201
  sleep 2000
H
Hui Li 已提交
202
  goto wait_dnode4_reready
H
Hui Li 已提交
203 204
endi

H
Hui Li 已提交
205
$loopCnt = 0
H
Hui Li 已提交
206
wait_dnode4_vgroup_slave:
H
Hui Li 已提交
207 208 209 210 211
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
  return -1
endi

H
Hui Li 已提交
212 213 214 215 216 217 218 219 220
sql show vgroups
if $rows != 1 then
  sleep 2000
  goto wait_dnode4_vgroup_slave
endi
print show vgroups:
print $data0_1  $data1_1  $data2_1  $data3_1  $data4_1  $data5_1  $data6_1  $data7_1  $data8_1  $data9_1
print $data0_2  $data1_2  $data2_2  $data3_2  $data4_2  $data5_2  $data6_2  $data7_2  $data8_2  $data9_2
print $data0_3  $data1_3  $data2_3  $data3_3  $data4_3  $data5_3  $data6_3  $data7_3  $data8_3  $data9_3
S
scripts  
Shengliang Guan 已提交
221 222
$dnode4Vtatus = $data6_2
$dnode3Vtatus = $data9_2
H
Hui Li 已提交
223 224 225 226 227 228 229 230 231 232 233 234

print dnode4Vtatus: $dnode4Vtatus
print dnode3Vtatus: $dnode3Vtatus 
if $dnode4Vtatus != slave then
  sleep 2000
  goto wait_dnode4_vgroup_slave
endi
if $dnode3Vtatus != master then
  sleep 2000
  goto wait_dnode4_vgroup_slave
endi

H
Hui Li 已提交
235 236 237 238 239 240
sql select count(*) from $stb
print data00 $data00
if $data00 != $totalRows then
	return -1
endi

H
Hui Li 已提交
241
print ============== step5: stop dnode3/dnode2, and check rows
H
Hui Li 已提交
242 243
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
H
Hui Li 已提交
244 245
sleep $sleepTimer

H
Hui Li 已提交
246
$loopCnt = 0
H
Hui Li 已提交
247
wait_dnode23_offline:
H
Hui Li 已提交
248 249 250 251
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
  return -1
endi
H
Hui Li 已提交
252 253 254
sql show dnodes
if $rows != 4 then
  sleep 2000
H
Hui Li 已提交
255
  goto wait_dnode23_offline
H
Hui Li 已提交
256 257 258 259 260
endi
print $data0_1  $data1_1  $data2_1  $data3_1  $data4_1
print $data0_2  $data1_2  $data2_2  $data3_2  $data4_2
print $data0_3  $data1_3  $data2_3  $data3_3  $data4_3
print $data0_4  $data1_4  $data2_4  $data3_4  $data4_4
H
Hui Li 已提交
261
$dnode1Status = $data4_1  
H
Hui Li 已提交
262 263 264 265
$dnode2Status = $data4_2
$dnode3Status = $data4_3  
$dnode4Status = $data4_4 

H
Hui Li 已提交
266
if $dnode2Status != offline then
H
Hui Li 已提交
267
  sleep 2000
H
Hui Li 已提交
268
  goto wait_dnode23_offline
H
Hui Li 已提交
269 270 271
endi
if $dnode3Status != offline then
  sleep 2000
H
Hui Li 已提交
272
  goto wait_dnode23_offline
H
Hui Li 已提交
273
endi
H
Hui Li 已提交
274 275 276 277 278
if $dnode4Status != ready then
  sleep 2000
  goto wait_dnode23_offline
endi

H
Hui Li 已提交
279
$loopCnt = 0
H
Hui Li 已提交
280
wait_dnode4_vgroup_master:
H
Hui Li 已提交
281 282 283 284 285
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
  return -1
endi

H
Hui Li 已提交
286 287 288 289 290 291 292 293 294
sql show vgroups
if $rows != 1 then
  sleep 2000
  goto wait_dnode4_vgroup_master
endi
print show vgroups:
print $data0_1  $data1_1  $data2_1  $data3_1  $data4_1  $data5_1  $data6_1  $data7_1  $data8_1  $data9_1
print $data0_2  $data1_2  $data2_2  $data3_2  $data4_2  $data5_2  $data6_2  $data7_2  $data8_2  $data9_2
print $data0_3  $data1_3  $data2_3  $data3_3  $data4_3  $data5_3  $data6_3  $data7_3  $data8_3  $data9_3
S
scripts  
Shengliang Guan 已提交
295 296
$dnode4Vtatus = $data6_2
$dnode3Vtatus = $data9_2
H
Hui Li 已提交
297 298 299 300 301 302 303 304

print dnode4Vtatus: $dnode4Vtatus
print dnode3Vtatus: $dnode3Vtatus 
if $dnode4Vtatus != master then
  sleep 2000
  goto wait_dnode4_vgroup_master
endi
if $dnode3Vtatus != offline then
H
Hui Li 已提交
305
  sleep 2000
H
Hui Li 已提交
306
  goto wait_dnode4_vgroup_master
H
Hui Li 已提交
307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324
endi

# check using select
sql select count(*) from $stb
print data00 $data00
if $data00 != $totalRows then
	return -1
endi

sql insert into $tb values ( now , 20000 ) ( now + 1a, 20001 ) ( now + 2a, 20002 )
$totalRows = $totalRows + 3

sql select count(*) from $stb
print data00 $data00
if $data00 != $totalRows then
	return -1
endi