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 offlineThreshold -v 10
system sh/cfg.sh -n dnode2 -c offlineThreshold -v 10
system sh/cfg.sh -n dnode3 -c offlineThreshold -v 10

system sh/cfg.sh -n dnode1 -c balanceInterval -v 5
system sh/cfg.sh -n dnode2 -c balanceInterval -v 5
system sh/cfg.sh -n dnode3 -c balanceInterval -v 5

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

system sh/cfg.sh -n dnode1 -c wallevel -v 1
system sh/cfg.sh -n dnode2 -c wallevel -v 1
system sh/cfg.sh -n dnode3 -c wallevel -v 1

print ========== step1
system sh/exec_up.sh -n dnode1 -s start
sql connect
sql create dnode $hostname2
system sh/exec_up.sh -n dnode2 -s start
sleep 3000

sql create database d1 replica 2 maxTables 4
sql create table d1.t1(ts timestamp, i int)
sql insert into d1.t1 values(1588262400001, 1)

sql show dnodes
print dnode1 $data4_1
print dnode1 $data4_2

if $data4_1 != ready then
  return -1
endi
if $data4_2 != ready then
  return -1
endi

print ========== step2
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
sleep 8000

sql show dnodes
print dnode1 $data4_1
print dnode1 $data4_2

if $data4_1 != ready then
  return -1
endi
if $data4_2 != offline then
  return -1
endi

print ========== step3
sleep 10000

sql show dnodes
print dnode1 $data4_1
print dnode1 $data4_2

if $data4_1 != ready then
  return -1
endi
if $data4_2 != dropping then
  return -1
endi

print ========== step4
sql create dnode $hostname3
system sh/exec_up.sh -n dnode3 -s start
system sh/exec_up.sh -n dnode2 -s start
sql drop dnode $hostname2

sleep 5000
$x = 0
show4: 
	$x = $x + 1
	sleep 5000
	if $x == 10 then 
	  return -1
	endi

sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
if $data4_1 != ready then
  goto show4
endi
if $data4_2 != null then
  goto show4
endi
if $data4_3 != ready then
  goto show4
endi

print ======================== step5
sql reset query cache
sleep 1000

sql select * from d1.t1
if $rows != 1 then
  return -1
endi

system sh/exec_up.sh -n dnode1 -s stop  -x SIGINT
system sh/exec_up.sh -n dnode2 -s stop  -x SIGINT
system sh/exec_up.sh -n dnode3 -s stop  -x SIGINT
system sh/exec_up.sh -n dnode4 -s stop  -x SIGINT
system sh/exec_up.sh -n dnode5 -s stop  -x SIGINT
system sh/exec_up.sh -n dnode6 -s stop  -x SIGINT
system sh/exec_up.sh -n dnode7 -s stop  -x SIGINT
system sh/exec_up.sh -n dnode8 -s stop  -x SIGINT