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
 |