dn3_mn1_vnode_change.sim 9.8 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 32 33 34 35 36 37 38 39

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

system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 4
system sh/cfg.sh -n dnode2 -c maxtablesPerVnode -v 4
system sh/cfg.sh -n dnode3 -c maxtablesPerVnode -v 4
system sh/cfg.sh -n dnode4 -c maxtablesPerVnode -v 4

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 已提交
40
system sh/cfg.sh -n dnode4 -c arbitrator -v $arbitrator
H
Hui Li 已提交
41 42 43 44 45 46 47 48 49

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 已提交
50
print ============== step2: start dnode2/dnode3/dnode4 and add into cluster , then create database with replica 2, and create table, insert data
H
Hui Li 已提交
51 52 53 54 55 56 57 58
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 已提交
59
$totalTableNum = 10
H
Hui Li 已提交
60 61 62
$sleepTimer = 3000

$db = db
H
Hui Li 已提交
63
sql create database $db replica 2 maxTables $totalTableNum
H
Hui Li 已提交
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
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 已提交
96 97 98 99 100 101 102
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 已提交
103
system sh/exec.sh -n dnode4 -s stop -x SIGINT
H
Hui Li 已提交
104
sleep $sleepTimer
H
Hui Li 已提交
105
$loopCnt = 0
H
Hui Li 已提交
106
wait_dnode4_offline_0:
H
Hui Li 已提交
107 108 109 110
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
  return -1
endi
H
Hui Li 已提交
111 112 113
sql show dnodes
if $rows != 4 then
  sleep 2000
H
Hui Li 已提交
114
  goto wait_dnode4_offline_0
H
Hui Li 已提交
115 116 117 118
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 已提交
119 120
print $data0_4  $data1_4  $data2_4  $data3_4  $data4_4
$dnode1Status = $data4_1  
H
Hui Li 已提交
121
$dnode2Status = $data4_2
H
Hui Li 已提交
122 123
$dnode3Status = $data4_3  
$dnode4Status = $data4_4 
H
Hui Li 已提交
124

H
Hui Li 已提交
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
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
$dnode4Vtatus = $data4_2
$dnode3Vtatus = $data7_2

if $dnode4Vtatus != offline then
  sleep 2000
  goto wait_dnode4_vgroup_offline
endi
if $dnode3Vtatus != master then
H
Hui Li 已提交
148
  sleep 2000
H
Hui Li 已提交
149
  goto wait_dnode4_vgroup_offline
H
Hui Li 已提交
150 151
endi

H
Hui Li 已提交
152 153
system echo "haha, nothing......" > ../../../sim/dnode4/data/vnode/vnode2/tsdb/data/f1643.data
#system rm -rf ../../../sim/dnode4/data/vnode/*
H
Hui Li 已提交
154 155
sleep 1000

H
Hui Li 已提交
156 157 158 159 160 161 162 163 164 165
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 已提交
166 167
print ============== step4: restart dnode4, waiting sync end 
system sh/exec.sh -n dnode4 -s start
H
Hui Li 已提交
168
sleep $sleepTimer
H
Hui Li 已提交
169 170

$loopCnt = 0
H
Hui Li 已提交
171
wait_dnode4_reready:
H
Hui Li 已提交
172 173 174 175 176
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
  return -1
endi

H
Hui Li 已提交
177 178 179
sql show dnodes
if $rows != 4 then
  sleep 2000
H
Hui Li 已提交
180
  goto wait_dnode4_reready
H
Hui Li 已提交
181 182 183 184 185 186 187 188 189
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 已提交
190 191
$dnode3Status = $data4_3  
$dnode4Status = $data4_4 
H
Hui Li 已提交
192 193
#$dnode5Status = $data4_5

H
Hui Li 已提交
194
if $dnode4Status != ready then
H
Hui Li 已提交
195
  sleep 2000
H
Hui Li 已提交
196
  goto wait_dnode4_reready
H
Hui Li 已提交
197 198
endi

H
Hui Li 已提交
199
$loopCnt = 0
H
Hui Li 已提交
200
wait_dnode4_vgroup_slave:
H
Hui Li 已提交
201 202 203 204 205
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
  return -1
endi

H
Hui Li 已提交
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
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
$dnode4Vtatus = $data4_2
$dnode3Vtatus = $data7_2

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 已提交
229 230 231 232 233 234
sql select count(*) from $stb
print data00 $data00
if $data00 != $totalRows then
	return -1
endi

H
Hui Li 已提交
235
print ============== step5: stop dnode3/dnode2, and check rows
H
Hui Li 已提交
236 237
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
H
Hui Li 已提交
238 239
sleep $sleepTimer

H
Hui Li 已提交
240
$loopCnt = 0
H
Hui Li 已提交
241
wait_dnode23_offline:
H
Hui Li 已提交
242 243 244 245
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
  return -1
endi
H
Hui Li 已提交
246 247 248
sql show dnodes
if $rows != 4 then
  sleep 2000
H
Hui Li 已提交
249
  goto wait_dnode23_offline
H
Hui Li 已提交
250 251 252 253 254
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 已提交
255
$dnode1Status = $data4_1  
H
Hui Li 已提交
256 257 258 259
$dnode2Status = $data4_2
$dnode3Status = $data4_3  
$dnode4Status = $data4_4 

H
Hui Li 已提交
260
if $dnode2Status != offline then
H
Hui Li 已提交
261
  sleep 2000
H
Hui Li 已提交
262
  goto wait_dnode23_offline
H
Hui Li 已提交
263 264 265
endi
if $dnode3Status != offline then
  sleep 2000
H
Hui Li 已提交
266
  goto wait_dnode23_offline
H
Hui Li 已提交
267
endi
H
Hui Li 已提交
268 269 270 271 272
if $dnode4Status != ready then
  sleep 2000
  goto wait_dnode23_offline
endi

H
Hui Li 已提交
273
$loopCnt = 0
H
Hui Li 已提交
274
wait_dnode4_vgroup_master:
H
Hui Li 已提交
275 276 277 278 279
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
  return -1
endi

H
Hui Li 已提交
280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298
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
$dnode4Vtatus = $data4_2
$dnode3Vtatus = $data7_2

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 已提交
299
  sleep 2000
H
Hui Li 已提交
300
  goto wait_dnode4_vgroup_master
H
Hui Li 已提交
301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318
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