326 lines
8.6 KiB
Plaintext
326 lines
8.6 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/deploy.sh -n dnode5 -i 5
|
|
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
|
|
|
|
print =============== step1 create dnode2 dnode3 dnode4 dnode 5
|
|
sql create dnode $hostname port 7200
|
|
sql create dnode $hostname port 7300
|
|
sql create dnode $hostname port 7400
|
|
sql create dnode $hostname port 7500
|
|
|
|
$x = 0
|
|
step1:
|
|
$ = $x + 1
|
|
sleep 1000
|
|
if $x == 10 then
|
|
print ====> dnode not online!
|
|
return -1
|
|
endi
|
|
sql select * from information_schema.ins_dnodes
|
|
print ===> $data00 $data01 $data02 $data03 $data04 $data05
|
|
print ===> $data10 $data11 $data12 $data13 $data14 $data15
|
|
if $rows != 5 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
|
|
if $data(5)[4] != offline then
|
|
goto step1
|
|
endi
|
|
|
|
print =============== step2 create database
|
|
sql create database d1 vgroups 1 replica 3
|
|
sql use d1
|
|
|
|
$wt = 0
|
|
stepwt1:
|
|
$wt = $wt + 1
|
|
sleep 1000
|
|
if $wt == 200 then
|
|
print ====> dnode not ready!
|
|
return -1
|
|
endi
|
|
sql show transactions
|
|
if $rows != 0 then
|
|
print wait 1 seconds to alter
|
|
goto stepwt1
|
|
endi
|
|
|
|
sql create table d1.st0 (ts timestamp, i int) tags (j int)
|
|
sql create table d1.c0 using st0 tags(0)
|
|
sql create table d1.c1 using st0 tags(1)
|
|
sql create table d1.c2 using st0 tags(2)
|
|
sql create table d1.c3 using st0 tags(3)
|
|
sql create table d1.c4 using st0 tags(4)
|
|
sql create table d1.c5 using st0 tags(5)
|
|
sql create table d1.c6 using st0 tags(6)
|
|
sql create table d1.c7 using st0 tags(7)
|
|
sql create table d1.c8 using st0 tags(8)
|
|
sql create table d1.c9 using st0 tags(9)
|
|
sql show d1.tables
|
|
if $rows != 10 then
|
|
return -1
|
|
endi
|
|
print d1.rows ===> $rows
|
|
sql select * from information_schema.ins_tables where stable_name = 'st0' and db_name = 'd1'
|
|
if $rows != 10 then
|
|
return -1
|
|
endi
|
|
|
|
sql create database d2 vgroups 3 replica 1
|
|
sql use d2
|
|
sql create table d2.st1 (ts timestamp, i int) tags (j int)
|
|
sql create table d2.c10 using st1 tags(0)
|
|
sql create table d2.c11 using st1 tags(1)
|
|
sql create table d2.c12 using st1 tags(2)
|
|
sql create table d2.c13 using st1 tags(3)
|
|
sql create table d2.c14 using st1 tags(4)
|
|
sql create table d2.c15 using st1 tags(5)
|
|
sql create table d2.c16 using st1 tags(6)
|
|
sql create table d2.c17 using st1 tags(7)
|
|
sql create table d2.c18 using st1 tags(8)
|
|
sql create table d2.c19 using st1 tags(9)
|
|
sql create table d2.c190 using st1 tags(9)
|
|
sql show d2.tables
|
|
if $rows != 11 then
|
|
return -1
|
|
endi
|
|
sql reset query cache
|
|
sql select * from information_schema.ins_tables where stable_name = 'st1' and db_name = 'd2'
|
|
print d2.st1.tables ===> $rows
|
|
if $rows != 11 then
|
|
return -1
|
|
endi
|
|
|
|
sql create table d2.st2 (ts timestamp, i int) tags (j int)
|
|
sql create table d2.c20 using st2 tags(0)
|
|
sql create table d2.c21 using st2 tags(1)
|
|
sql create table d2.c22 using st2 tags(2)
|
|
sql create table d2.c23 using st2 tags(3)
|
|
sql create table d2.c24 using st2 tags(4)
|
|
sql create table d2.c25 using st2 tags(5)
|
|
sql create table d2.c26 using st2 tags(6)
|
|
sql create table d2.c27 using st2 tags(7)
|
|
sql create table d2.c28 using st2 tags(8)
|
|
sql create table d2.c29 using st2 tags(9)
|
|
sql create table d2.c290 using st2 tags(9)
|
|
sql create table d2.c291 using st2 tags(9)
|
|
sql show d2.tables
|
|
if $rows != 23 then
|
|
return -1
|
|
endi
|
|
sql reset query cache
|
|
sql select * from information_schema.ins_tables where stable_name = 'st2' and db_name = 'd2'
|
|
print d2.st2.tables ===> $rows
|
|
if $rows != 12 then
|
|
return -1
|
|
endi
|
|
|
|
print =============== step3: create qnode snode on dnode 3
|
|
sql create qnode on dnode 3
|
|
sql create snode on dnode 3
|
|
sql select * from information_schema.ins_qnodes
|
|
if $rows != 1 then
|
|
return -1
|
|
endi
|
|
sql show snodes
|
|
if $rows != 1 then
|
|
return -1
|
|
endi
|
|
|
|
print =============== step4: create mnode on dnode 2
|
|
sql create mnode on dnode 3
|
|
sql create mnode on dnode 2
|
|
$x = 0
|
|
step4:
|
|
$x = $x + 1
|
|
sleep 1000
|
|
if $x == 10 then
|
|
return -1
|
|
endi
|
|
sql select * from information_schema.ins_mnodes -x step4
|
|
print $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4]
|
|
print $data[1][0] $data[1][1] $data[1][2] $data[1][3] $data[1][4]
|
|
print $data[2][0] $data[2][1] $data[2][2] $data[2][3] $data[1][4]
|
|
#if $data(1)[2] != leader then
|
|
# goto step4
|
|
#endi
|
|
if $data(2)[2] != follower then
|
|
goto step4
|
|
endi
|
|
#if $data(3)[2] != follower then
|
|
# goto step4
|
|
#endi
|
|
|
|
print =============== step5: create dnode 5
|
|
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
|
system sh/exec.sh -n dnode5 -s start
|
|
$x = 0
|
|
step5:
|
|
$ = $x + 1
|
|
sleep 1000
|
|
if $x == 10 then
|
|
print ====> dnode not online!
|
|
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
|
|
print ===> $data40 $data41 $data42 $data43 $data44 $data45
|
|
if $rows != 5 then
|
|
return -1
|
|
endi
|
|
if $data(1)[4] != ready then
|
|
goto step5
|
|
endi
|
|
if $data(2)[4] != ready then
|
|
goto step5
|
|
endi
|
|
if $data(3)[4] != offline then
|
|
goto step5
|
|
endi
|
|
if $data(4)[4] != ready then
|
|
goto step5
|
|
endi
|
|
if $data(5)[4] != ready then
|
|
goto step5
|
|
endi
|
|
|
|
print =============== step5a: drop dnode 3
|
|
sql_error drop dnode 3
|
|
sql_error drop dnode 3 force
|
|
sql drop dnode 3 unsafe
|
|
|
|
print select * from information_schema.ins_dnodes;
|
|
sql select * from information_schema.ins_dnodes;
|
|
print $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4]
|
|
print $data[1][0] $data[1][1] $data[1][2] $data[1][3] $data[1][4]
|
|
if $rows != 4 then
|
|
return -1
|
|
endi
|
|
|
|
$x = 0
|
|
step5a:
|
|
$ = $x + 1
|
|
sleep 1000
|
|
if $x == 10 then
|
|
print ====> dnode not online!
|
|
return -1
|
|
endi
|
|
print select * from information_schema.ins_mnodes;
|
|
sql select * from information_schema.ins_mnodes
|
|
print $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4]
|
|
print $data[1][0] $data[1][1] $data[1][2] $data[1][3] $data[1][4]
|
|
if $rows != 2 then
|
|
goto step5a
|
|
endi
|
|
if $data(1)[2] != leader then
|
|
goto step5a
|
|
endi
|
|
|
|
sql select * from information_schema.ins_qnodes
|
|
if $rows != 0 then
|
|
return -1
|
|
endi
|
|
sql show snodes
|
|
if $rows != 0 then
|
|
return -1
|
|
endi
|
|
|
|
print =============== step6: check d1
|
|
sql reset query cache
|
|
sql show d1.tables
|
|
if $rows != 10 then
|
|
return -1
|
|
endi
|
|
|
|
print =============== step7: check d2
|
|
sql show d2.tables
|
|
print ===> d2.tables: $rows remained
|
|
if $rows > 23 then
|
|
return -1
|
|
endi
|
|
if $rows <= 0 then
|
|
return -1
|
|
endi
|
|
|
|
print =============== step8: drop stable and recreate it
|
|
sql select * from information_schema.ins_tables where stable_name = 'st2' and db_name = 'd2'
|
|
print d2.st2.tables ==> $rows
|
|
|
|
sql drop table d2.st2;
|
|
sql create table d2.st2 (ts timestamp, i int) tags (j int)
|
|
sql create table d2.c20 using st2 tags(0)
|
|
sql create table d2.c21 using st2 tags(1)
|
|
sql create table d2.c22 using st2 tags(2)
|
|
sql create table d2.c23 using st2 tags(3)
|
|
sql create table d2.c24 using st2 tags(4)
|
|
sql create table d2.c25 using st2 tags(5)
|
|
sql create table d2.c26 using st2 tags(6)
|
|
sql create table d2.c27 using st2 tags(7)
|
|
sql create table d2.c28 using st2 tags(8)
|
|
sql create table d2.c29 using st2 tags(9)
|
|
sql create table d2.c30 using st2 tags(9)
|
|
sql create table d2.c31 using st2 tags(9)
|
|
sql create table d2.c32 using st2 tags(9)
|
|
|
|
sql select * from information_schema.ins_tables where stable_name = 'st2' and db_name = 'd2'
|
|
print d2.st2.tables ==> $rows
|
|
if $rows != 13 then
|
|
return -1
|
|
endi
|
|
|
|
print =============== step9: alter stable
|
|
return
|
|
print By modifying the stable, the missing stable information can be reconstructed in the vnode.
|
|
print However, currently, getting the stable meta from the vnode, and return the table not exist
|
|
print To handle this, we need to modify the way stable-meta is fetched
|
|
|
|
sql select * from information_schema.ins_tables where stable_name = 'st1' and db_name = 'd2'
|
|
print d2.st1.tables ==> $rows
|
|
$remains = $rows
|
|
|
|
sql alter table d2.st1 add column b smallint
|
|
return
|
|
sql create table d2.c30 using st tags(0)
|
|
sql create table d2.c31 using st tags(1)
|
|
sql create table d2.c32 using st tags(2)
|
|
sql create table d2.c33 using st tags(3)
|
|
sql create table d2.c34 using st tags(4)
|
|
sql create table d2.c35 using st tags(5)
|
|
sql create table d2.c36 using st tags(6)
|
|
sql create table d2.c37 using st tags(7)
|
|
sql create table d2.c38 using st tags(8)
|
|
sql create table d2.c39 using st tags(9)
|
|
sql show d2.tables
|
|
print d2.st1.tables ==> $rows
|
|
|
|
$total = $remains + 10
|
|
if $rows != $total then
|
|
return -1
|
|
endi
|
|
|
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|