609 lines
16 KiB
Plaintext
609 lines
16 KiB
Plaintext
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 supportVnodes -v 0
|
||
|
||
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
|
||
sql create dnode $hostname port 7200
|
||
sql create dnode $hostname port 7300
|
||
sql create dnode $hostname port 7400
|
||
|
||
$x = 0
|
||
step1:
|
||
$x = $x + 1
|
||
sleep 1000
|
||
if $x == 10 then
|
||
print ====> dnode not ready!
|
||
return -1
|
||
endi
|
||
sql select * from information_schema.ins_dnodes
|
||
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 $data34 $data35
|
||
if $rows != 4 then
|
||
return -1
|
||
endi
|
||
if $data(1)[4] != ready then
|
||
goto step1
|
||
endi
|
||
if $data(2)[4] != ready then
|
||
goto step1
|
||
endi
|
||
if $data(3)[4] != ready then
|
||
goto step1
|
||
endi
|
||
if $data(4)[4] != ready then
|
||
goto step1
|
||
endi
|
||
|
||
$replica = 3
|
||
$vgroups = 5
|
||
|
||
print ============= create database
|
||
sql create database db replica $replica vgroups $vgroups
|
||
|
||
$loop_cnt = 0
|
||
check_db_ready:
|
||
$loop_cnt = $loop_cnt + 1
|
||
sleep 200
|
||
if $loop_cnt == 100 then
|
||
print ====> db not ready!
|
||
return -1
|
||
endi
|
||
sql select * from information_schema.ins_databases
|
||
print ===> rows: $rows
|
||
print $data[2][0] $data[2][1] $data[2][2] $data[2][3] $data[2][4] $data[2][5] $data[2][6] $data[2][7] $data[2][8] $data[2][9] $data[2][6] $data[2][11] $data[2][12] $data[2][13] $data[2][14] $data[2][15] $data[2][16] $data[2][17] $data[2][18] $data[2][19]
|
||
if $rows != 3 then
|
||
return -1
|
||
endi
|
||
if $data[2][15] != ready then
|
||
goto check_db_ready
|
||
endi
|
||
|
||
sql use db
|
||
|
||
$loop_cnt = 0
|
||
check_vg_ready:
|
||
$loop_cnt = $loop_cnt + 1
|
||
sleep 200
|
||
if $loop_cnt == 300 then
|
||
print ====> vgroups not ready!
|
||
return -1
|
||
endi
|
||
|
||
sql show vgroups
|
||
print ===> rows: $rows
|
||
print $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4] $data[0][5] $data[0][6] $data[0][7] $data[0][8] $data[0][9] $data[0][10] $data[0][11]
|
||
print $data[1][0] $data[1][1] $data[1][2] $data[1][3] $data[1][4] $data[1][5] $data[1][6] $data[1][7] $data[1][8] $data[1][9] $data[1][10] $data[1][11]
|
||
print $data[2][0] $data[2][1] $data[2][2] $data[2][3] $data[2][4] $data[2][5] $data[2][6] $data[2][7] $data[2][8] $data[2][9] $data[2][10] $data[2][11]
|
||
print $data[3][0] $data[3][1] $data[3][2] $data[3][3] $data[3][4] $data[3][5] $data[3][6] $data[3][7] $data[3][8] $data[3][9] $data[3][10] $data[3][11]
|
||
print $data[4][0] $data[4][1] $data[4][2] $data[4][3] $data[4][4] $data[4][5] $data[4][6] $data[4][7] $data[4][8] $data[4][9] $data[4][10] $data[4][11]
|
||
if $rows != $vgroups then
|
||
return -1
|
||
endi
|
||
|
||
if $data[0][4] == leader then
|
||
if $data[0][6] == follower then
|
||
if $data[0][8] == follower then
|
||
print ---- vgroup $data[0][0] leader locate on dnode $data[0][3]
|
||
endi
|
||
endi
|
||
elif $data[0][6] == leader then
|
||
if $data[0][4] == follower then
|
||
if $data[0][8] == follower then
|
||
print ---- vgroup $data[0][0] leader locate on dnode $data[0][5]
|
||
endi
|
||
endi
|
||
elif $data[0][8] == leader then
|
||
if $data[0][4] == follower then
|
||
if $data[0][6] == follower then
|
||
print ---- vgroup $data[0][0] leader locate on dnode $data[0][7]
|
||
endi
|
||
endi
|
||
else
|
||
goto check_vg_ready
|
||
endi
|
||
|
||
if $data[1][4] == leader then
|
||
if $data[1][6] == follower then
|
||
if $data[1][8] == follower then
|
||
print ---- vgroup $data[1][0] leader locate on dnode $data[1][3]
|
||
endi
|
||
endi
|
||
elif $data[1][6] == leader then
|
||
if $data[1][4] == follower then
|
||
if $data[1][8] == follower then
|
||
print ---- vgroup $data[1][0] leader locate on dnode $data[1][5]
|
||
endi
|
||
endi
|
||
elif $data[1][8] == leader then
|
||
if $data[1][4] == follower then
|
||
if $data[1][6] == follower then
|
||
print ---- vgroup $data[1][0] leader locate on dnode $data[1][7]
|
||
endi
|
||
endi
|
||
else
|
||
goto check_vg_ready
|
||
endi
|
||
|
||
if $data[2][4] == leader then
|
||
if $data[2][6] == follower then
|
||
if $data[2][8] == follower then
|
||
print ---- vgroup $data[2][0] leader locate on dnode $data[2][3]
|
||
endi
|
||
endi
|
||
elif $data[2][6] == leader then
|
||
if $data[2][4] == follower then
|
||
if $data[2][8] == follower then
|
||
print ---- vgroup $data[2][0] leader locate on dnode $data[2][5]
|
||
endi
|
||
endi
|
||
elif $data[2][8] == leader then
|
||
if $data[2][4] == follower then
|
||
if $data[2][6] == follower then
|
||
print ---- vgroup $data[2][0] leader locate on dnode $data[2][7]
|
||
endi
|
||
endi
|
||
else
|
||
goto check_vg_ready
|
||
endi
|
||
|
||
if $data[3][4] == leader then
|
||
if $data[3][6] == follower then
|
||
if $data[3][8] == follower then
|
||
print ---- vgroup $data[3][0] leader locate on dnode $data[3][3]
|
||
endi
|
||
endi
|
||
elif $data[3][6] == leader then
|
||
if $data[3][4] == follower then
|
||
if $data[3][8] == follower then
|
||
print ---- vgroup $data[3][0] leader locate on dnode $data[3][5]
|
||
endi
|
||
endi
|
||
elif $data[3][8] == leader then
|
||
if $data[3][4] == follower then
|
||
if $data[3][6] == follower then
|
||
print ---- vgroup $data[3][0] leader locate on dnode $data[3][7]
|
||
endi
|
||
endi
|
||
else
|
||
goto check_vg_ready
|
||
endi
|
||
|
||
if $data[4][4] == leader then
|
||
if $data[4][6] == follower then
|
||
if $data[4][8] == follower then
|
||
print ---- vgroup $data[4][0] leader locate on dnode $data[4][3]
|
||
endi
|
||
endi
|
||
elif $data[4][6] == leader then
|
||
if $data[4][4] == follower then
|
||
if $data[4][8] == follower then
|
||
print ---- vgroup $data[4][0] leader locate on dnode $data[4][5]
|
||
endi
|
||
endi
|
||
elif $data[4][8] == leader then
|
||
if $data[4][4] == follower then
|
||
if $data[4][6] == follower then
|
||
print ---- vgroup $data[4][0] leader locate on dnode $data[4][7]
|
||
endi
|
||
endi
|
||
else
|
||
goto check_vg_ready
|
||
endi
|
||
|
||
vg_ready:
|
||
print ====> create stable/child table
|
||
sql create table stb (ts timestamp, c1 int, c2 float, c3 binary(10)) tags (t1 int)
|
||
|
||
sql show stables
|
||
if $rows != 1 then
|
||
return -1
|
||
endi
|
||
|
||
$ctbPrefix = ctb
|
||
$ntbPrefix = ntb
|
||
$tbNum = 10
|
||
$i = 0
|
||
while $i < $tbNum
|
||
$ctb = $ctbPrefix . $i
|
||
sql create table $ctb using stb tags( $i )
|
||
$ntb = $ntbPrefix . $i
|
||
sql create table $ntb (ts timestamp, c1 int, c2 float, c3 binary(10))
|
||
$i = $i + 1
|
||
endw
|
||
|
||
$totalTblNum = $tbNum * 2
|
||
sleep 1000
|
||
sql show tables
|
||
print ====> expect $totalTblNum and infinsert $rows in fact
|
||
if $rows != $totalTblNum then
|
||
return -1
|
||
endi
|
||
|
||
sql connect
|
||
print ================ insert data
|
||
$dbNamme = db
|
||
$ctbPrefix = ctb
|
||
$ntbPrefix = ntb
|
||
$tbNum = 10
|
||
$rowNum = 10
|
||
$tstart = 1640966400000 # 2022-01-01 00:00:00.000
|
||
|
||
|
||
sql use $dbNamme
|
||
|
||
$i = 0
|
||
while $i < $tbNum
|
||
$ctb = $ctbPrefix . $i
|
||
$ntb = $ntbPrefix . $i
|
||
|
||
$x = 0
|
||
while $x < $rowNum
|
||
$binary = ' . binary
|
||
$binary = $binary . $i
|
||
$binary = $binary . '
|
||
|
||
sql insert into $ctb values ($tstart , $i , $x , $binary )
|
||
sql insert into $ntb values ($tstart , 999 , 999 , 'binary-ntb' )
|
||
$tstart = $tstart + 1
|
||
$x = $x + 1
|
||
endw
|
||
|
||
$i = $i + 1
|
||
$tstart = 1640966400000
|
||
endw
|
||
|
||
print ================ create mnode
|
||
|
||
|
||
sql create mnode on dnode 2;
|
||
sql create mnode on dnode 3;
|
||
|
||
|
||
$loop_cnt = 0
|
||
check_mnode_ready_2:
|
||
$loop_cnt = $loop_cnt + 1
|
||
sleep 200
|
||
if $loop_cnt == 100 then
|
||
print ====> first create three mnode not ready!
|
||
return -1
|
||
endi
|
||
sql select * from information_schema.ins_mnodes
|
||
print ===> $rows $data[0][0] $data[0][1] $data[0][2] $data[0][3]
|
||
print ===> $rows $data[1][0] $data[1][1] $data[1][2] $data[1][3]
|
||
print ===> $rows $data[2][0] $data[2][1] $data[2][2] $data[2][3]
|
||
if $data[0][0] != 1 then
|
||
return -1
|
||
endi
|
||
|
||
if $data[0][2] != leader then
|
||
goto check_mnode_ready_2
|
||
endi
|
||
if $data[1][2] != follower then
|
||
goto check_mnode_ready_2
|
||
endi
|
||
if $data[2][2] != follower then
|
||
goto check_mnode_ready_2
|
||
endi
|
||
|
||
|
||
$loop_cnt = 0
|
||
check_vg_ready1:
|
||
$loop_cnt = $loop_cnt + 1
|
||
print $loop_cnt
|
||
sleep 202
|
||
if $loop_cnt == 300 then
|
||
print ====> vgroups not ready!
|
||
return -1
|
||
endi
|
||
|
||
sql show vgroups
|
||
print ===> rows: $rows
|
||
print $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4] $data[0][5] $data[0][6] $data[0][7] $data[0][8] $data[0][9] $data[0][10] $data[0][11]
|
||
print $data[1][0] $data[1][1] $data[1][2] $data[1][3] $data[1][4] $data[1][5] $data[1][6] $data[1][7] $data[1][8] $data[1][9] $data[1][10] $data[1][11]
|
||
print $data[2][0] $data[2][1] $data[2][2] $data[2][3] $data[2][4] $data[2][5] $data[2][6] $data[2][7] $data[2][8] $data[2][9] $data[2][10] $data[2][11]
|
||
print $data[3][0] $data[3][1] $data[3][2] $data[3][3] $data[3][4] $data[3][5] $data[3][6] $data[3][7] $data[3][8] $data[3][9] $data[3][10] $data[3][11]
|
||
print $data[4][0] $data[4][1] $data[4][2] $data[4][3] $data[4][4] $data[4][5] $data[4][6] $data[4][7] $data[4][8] $data[4][9] $data[4][10] $data[4][11]
|
||
if $rows != $vgroups then
|
||
return -1
|
||
endi
|
||
|
||
if $data[0][4] == leader then
|
||
if $data[0][6] == follower then
|
||
if $data[0][8] == follower then
|
||
print ---- vgroup $data[0][0] leader locate on dnode $data[0][3]
|
||
endi
|
||
endi
|
||
elif $data[0][6] == leader then
|
||
if $data[0][4] == follower then
|
||
if $data[0][8] == follower then
|
||
print ---- vgroup $data[0][0] leader locate on dnode $data[0][5]
|
||
endi
|
||
endi
|
||
elif $data[0][8] == leader then
|
||
if $data[0][4] == follower then
|
||
if $data[0][6] == follower then
|
||
print ---- vgroup $data[0][0] leader locate on dnode $data[0][7]
|
||
endi
|
||
endi
|
||
else
|
||
goto check_vg_ready1
|
||
endi
|
||
|
||
if $data[1][4] == leader then
|
||
if $data[1][6] == follower then
|
||
if $data[1][8] == follower then
|
||
print ---- vgroup $data[1][0] leader locate on dnode $data[1][3]
|
||
endi
|
||
endi
|
||
elif $data[1][6] == leader then
|
||
if $data[1][4] == follower then
|
||
if $data[1][8] == follower then
|
||
print ---- vgroup $data[1][0] leader locate on dnode $data[1][5]
|
||
endi
|
||
endi
|
||
elif $data[1][8] == leader then
|
||
if $data[1][4] == follower then
|
||
if $data[1][6] == follower then
|
||
print ---- vgroup $data[1][0] leader locate on dnode $data[1][7]
|
||
endi
|
||
endi
|
||
else
|
||
goto check_vg_ready1
|
||
endi
|
||
|
||
if $data[2][4] == leader then
|
||
if $data[2][6] == follower then
|
||
if $data[2][8] == follower then
|
||
print ---- vgroup $data[2][0] leader locate on dnode $data[2][3]
|
||
endi
|
||
endi
|
||
elif $data[2][6] == leader then
|
||
if $data[2][4] == follower then
|
||
if $data[2][8] == follower then
|
||
print ---- vgroup $data[2][0] leader locate on dnode $data[2][5]
|
||
endi
|
||
endi
|
||
elif $data[2][8] == leader then
|
||
if $data[2][4] == follower then
|
||
if $data[2][6] == follower then
|
||
print ---- vgroup $data[2][0] leader locate on dnode $data[2][7]
|
||
endi
|
||
endi
|
||
else
|
||
goto check_vg_ready1
|
||
endi
|
||
|
||
if $data[3][4] == leader then
|
||
if $data[3][6] == follower then
|
||
if $data[3][8] == follower then
|
||
print ---- vgroup $data[3][0] leader locate on dnode $data[3][3]
|
||
endi
|
||
endi
|
||
elif $data[3][6] == leader then
|
||
if $data[3][4] == follower then
|
||
if $data[3][8] == follower then
|
||
print ---- vgroup $data[3][0] leader locate on dnode $data[3][5]
|
||
endi
|
||
endi
|
||
elif $data[3][8] == leader then
|
||
if $data[3][4] == follower then
|
||
if $data[3][6] == follower then
|
||
print ---- vgroup $data[3][0] leader locate on dnode $data[3][7]
|
||
endi
|
||
endi
|
||
else
|
||
goto check_vg_ready1
|
||
endi
|
||
|
||
if $data[4][4] == leader then
|
||
if $data[4][6] == follower then
|
||
if $data[4][8] == follower then
|
||
print ---- vgroup $data[4][0] leader locate on dnode $data[4][3]
|
||
endi
|
||
endi
|
||
elif $data[4][6] == leader then
|
||
if $data[4][4] == follower then
|
||
if $data[4][8] == follower then
|
||
print ---- vgroup $data[4][0] leader locate on dnode $data[4][5]
|
||
endi
|
||
endi
|
||
elif $data[4][8] == leader then
|
||
if $data[4][4] == follower then
|
||
if $data[4][6] == follower then
|
||
print ---- vgroup $data[4][0] leader locate on dnode $data[4][7]
|
||
endi
|
||
endi
|
||
else
|
||
goto check_vg_ready1
|
||
endi
|
||
|
||
|
||
print ====> final test: create stable/child table
|
||
sql create table stb1 (ts timestamp, c1 int, c2 float, c3 binary(10)) tags (t1 int)
|
||
|
||
|
||
sql show stables
|
||
if $rows != 2 then
|
||
return -1
|
||
endi
|
||
|
||
$ctbPrefix = ctb1
|
||
$ntbPrefix = ntb1
|
||
$tbNum = 10
|
||
$i = 0
|
||
while $i < $tbNum
|
||
$ctb = $ctbPrefix . $i
|
||
sql create table $ctb using stb1 tags( $i )
|
||
$ntb = $ntbPrefix . $i
|
||
sql create table $ntb (ts timestamp, c1 int, c2 float, c3 binary(10))
|
||
$i = $i + 1
|
||
endw
|
||
|
||
sleep 1000
|
||
sql show stables
|
||
if $rows != 2 then
|
||
return -1
|
||
endi
|
||
|
||
sql show tables
|
||
if $rows != 40 then
|
||
return -1
|
||
endi
|
||
|
||
|
||
system sh/deploy.sh -n dnode5 -i 5
|
||
system sh/exec.sh -n dnode5 -s start
|
||
|
||
sql connect
|
||
sql create dnode $hostname port 7500
|
||
|
||
$loop_cnt = 0
|
||
check_dnode_ready3:
|
||
$loop_cnt = $loop_cnt + 1
|
||
sleep 200
|
||
if $loop_cnt == 100 then
|
||
print ====> 5 dnode not ready!
|
||
return -1
|
||
endi
|
||
|
||
sql select * from information_schema.ins_dnodes
|
||
print ===> $rows $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4] $data[0][5] $data[0][6]
|
||
print ===> $rows $data[1][0] $data[1][1] $data[1][2] $data[1][3] $data[1][4] $data[1][5] $data[1][6]
|
||
print ===> $rows $data[2][0] $data[2][1] $data[2][2] $data[2][3] $data[2][4] $data[2][5] $data[2][6]
|
||
print ===> $rows $data[3][0] $data[3][1] $data[3][2] $data[3][3] $data[3][4] $data[3][5] $data[3][6]
|
||
print ===> $rows $data[4][0] $data[4][1] $data[4][2] $data[4][3] $data[4][4] $data[4][5] $data[4][6]
|
||
|
||
if $rows != 5 then
|
||
return -1
|
||
endi
|
||
|
||
if $data[4][4] != ready then
|
||
goto check_dnode_ready3
|
||
endi
|
||
|
||
print ===> 1:if create users sucessfully,then drop mnode leader
|
||
sql create user chr pass '123'
|
||
$loop_cnt = 0
|
||
check_user_ready:
|
||
$loop_cnt = $loop_cnt + 1
|
||
print $loop_cnt
|
||
sleep 200
|
||
if $loop_cnt == 300 then
|
||
print ====> vgroups not ready!
|
||
return -1
|
||
endi
|
||
|
||
sql select * from information_schema.ins_users
|
||
print ===> rows: $rows
|
||
print ===> $rows $data[0][0] $data[0][1] $data[0][2]
|
||
print ===> $rows $data[1][0] $data[1][1] $data[1][2]
|
||
if $rows != 2 then
|
||
goto check_user_ready
|
||
endi
|
||
|
||
if $data[0][0] == chr then
|
||
goto check_user_ready_suc
|
||
elif $data[1][0] == chr
|
||
goto check_user_ready_suc
|
||
else
|
||
print ====> creating user failed
|
||
goto check_user_ready
|
||
endi
|
||
|
||
check_user_ready_suc:
|
||
|
||
$loop_cnt = 0
|
||
check_mnode_ready_3:
|
||
$loop_cnt = $loop_cnt + 1
|
||
sleep 200
|
||
if $loop_cnt == 100 then
|
||
print ====> second mnode not ready!
|
||
return -1
|
||
endi
|
||
sql select * from information_schema.ins_mnodes
|
||
print ===> $rows $data[0][0] $data[0][1] $data[0][2] $data[0][3]
|
||
print ===> $rows $data[1][0] $data[1][1] $data[1][2] $data[1][3]
|
||
print ===> $rows $data[2][0] $data[2][1] $data[2][2] $data[2][3]
|
||
if $data[0][0] != 1 then
|
||
return -1
|
||
endi
|
||
|
||
if $data[0][2] == leader then
|
||
if $data[1][2] != follower then
|
||
goto check_mnode_ready_3
|
||
endi
|
||
if $data[2][2] != follower then
|
||
goto check_mnode_ready_3
|
||
endi
|
||
endi
|
||
if $data[1][2] == leader then
|
||
if $data[0][2] != follower then
|
||
goto check_mnode_ready_3
|
||
endi
|
||
if $data[2][2] != follower then
|
||
goto check_mnode_ready_3
|
||
endi
|
||
endi
|
||
if $data[2][2] == leader then
|
||
if $data[1][2] != follower then
|
||
goto check_mnode_ready_3
|
||
endi
|
||
if $data[0][2] != follower then
|
||
goto check_mnode_ready_3
|
||
endi
|
||
endi
|
||
|
||
sleep 2000
|
||
# stop leader and drop dnode
|
||
system sh/exec.sh -n dnode1 -s stop
|
||
sleep 2000
|
||
|
||
print ===> 2:if create users sucessfully,then drop mnode leader
|
||
sql create user chr2 pass '123'
|
||
$loop_cnt = 0
|
||
check_user_ready2:
|
||
$loop_cnt = $loop_cnt + 1
|
||
print $loop_cnt
|
||
sleep 200
|
||
if $loop_cnt == 300 then
|
||
print ====> vgroups not ready!
|
||
return -1
|
||
endi
|
||
sql select * from information_schema.ins_mnodes
|
||
print ===> $rows $data[0][0] $data[0][1] $data[0][2] $data[0][3]
|
||
print ===> $rows $data[1][0] $data[1][1] $data[1][2] $data[1][3]
|
||
print ===> $rows $data[2][0] $data[2][1] $data[2][2] $data[2][3]
|
||
|
||
sql select * from information_schema.ins_users
|
||
print ===> rows: $rows
|
||
print ===> $rows $data[0][0] $data[0][1] $data[0][2]
|
||
print ===> $rows $data[1][0] $data[1][1] $data[1][2]
|
||
print ===> $rows $data[2][0] $data[2][1] $data[2][2]
|
||
|
||
if $rows != 3 then
|
||
goto check_user_ready2
|
||
endi
|
||
|
||
if $data[0][0] == chr2 then
|
||
goto check_user_ready2_suc
|
||
elif $data[1][0] == chr2
|
||
goto check_user_ready2_suc
|
||
else
|
||
print ====> creating user failed
|
||
goto check_user_ready2
|
||
endi
|
||
|
||
check_user_ready2_suc:
|
||
|