drop_dnode_has_vnode_replica1.sim 3.1 KB
Newer Older
S
Shengliang Guan 已提交
1 2 3 4 5 6 7 8 9 10 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 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 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
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/cfg.sh -n dnode1 -c supportVnodes -v 0
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
sql connect

print =============== step1 create dnode2
sql create dnode $hostname port 7200
sql create dnode $hostname port 7300

$x = 0
step1:
	$ = $x + 1
	sleep 1000
	if $x == 10 then
	  print ====> dnode not online!
		return -1
	endi
sql show dnodes
print ===> $data00 $data01 $data02 $data03 $data04 $data05
print ===> $data10 $data11 $data12 $data13 $data14 $data15
if $rows != 3 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] != offline then
  goto step1
endi

print =============== step2 drop dnode which not exist
sql_error drop dnode 1
sql_error drop dnode 4

print =============== step3 create database
sql create database d1 vgroups 1
sql use d1
sql create table d1.st (ts timestamp, i int) tags (j int)
sql create table d1.c1 using st tags(1)
sql show d1.tables
if $rows != 1 then
  return -1
endi

sql show d1.vgroups
print $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4] 
if $rows != 1 then
  return -1
endi
if $data(2)[3] != 2 then
  return -1
endi

print =============== step4: drop dnode 2
print cant drop since no enough vnodes
sql_error drop dnode 2

system sh/exec.sh -n dnode2 -s stop
system sh/exec.sh -n dnode3 -s start
$x = 0
step4:
	$ = $x + 1
	sleep 1000
	if $x == 10 then
	  print ====> dnode not online!
		return -1
	endi
sql show dnodes
print ===> $data00 $data01 $data02 $data03 $data04 $data05
print ===> $data10 $data11 $data12 $data13 $data14 $data15
if $rows != 3 then
  return -1
endi
if $data(1)[4] != ready then
  goto step4
endi
if $data(2)[4] != offline then
  goto step4
endi
if $data(3)[4] != ready then
  goto step4
endi

# cant drop since offline
sql_error drop dnode 2

print =============== step5: start dnode2
system sh/exec.sh -n dnode2 -s start

$x = 0
step5:
	$ = $x + 1
	sleep 1000
	if $x == 10 then
	  print ====> dnode not online!
		return -1
	endi
sql show dnodes
print ===> $data00 $data01 $data02 $data03 $data04 $data05
print ===> $data10 $data11 $data12 $data13 $data14 $data15
if $rows != 3 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] != ready then
  goto step5
endi

print =============== step6: drop dnode2
sql drop dnode 2

print show dnodes; 
sql show 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 != 2 then 
  return -1
endi

print show d1.vgroups
sql show d1.vgroups
print $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4] 
if $rows != 1 then
  return -1
endi
if $data(2)[3] != 3 then
  return -1
endi

print =============== step7: select data
sql show d1.tables
if $rows != 1 then
  return -1
endi

return
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
151
system sh/exec.sh -n dnode3 -s stop -x SIGINT