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/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 dnodes 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 ===> rows: $rows 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 $data24 $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 print =============== step2: create database sql create database db vgroups 1 replica 3 sql select * from information_schema.ins_databases if $rows != 3 then return -1 endi if $data(db)[4] != 3 then return -1 endi sql select * from information_schema.ins_dnodes if $data(2)[2] != 1 then return -1 endi if $data(3)[2] != 1 then return -1 endi if $data(4)[2] != 1 then return -1 endi # vnodes sql select * from information_schema.ins_dnodes if $data(2)[2] != 1 then return -1 endi if $data(3)[2] != 1 then return -1 endi if $data(4)[2] != 1 then return -1 endi # v1_dnode $hasleader = 0 $x = 0 step2: $x = $x + 1 sleep 1000 if $x == 20 then print ====> dnode not ready! return -1 endi sql show db.vgroups print ===> $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 if $data(2)[3] != 2 then return -1 endi if $data(2)[5] != 3 then return -1 endi if $data(2)[7] != 4 then return -1 endi if $data(2)[4] == leader then $hasleader = 1 endi if $data(2)[6] == leader then $hasleader = 1 endi if $data(2)[8] == leader then $hasleader = 1 endi if $hasleader != 1 then goto step2 endi sql create table db.stb (ts timestamp, c1 int, c2 binary(4)) tags(t1 int, t2 binary(16)) comment "abd" sql create table db.ctb using db.stb tags(101, "102") sql insert into db.ctb values(now, 1, "2") sql show db.vgroups print ===> $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 sleep 100 sql select * from db.ctb print ===> $data00 $data01 $data02 $data03 $data04 $data05 if $rows != 1 then return -1 endi print ============= step3: alter database sql alter database db replica 1 $hasleader = 0 $x = 0 step3: $x = $x + 1 sleep 1000 if $x == 10 then print ====> dnode not ready! return -1 endi sql show db.vgroups print ===> rows: $rows if $rows != 1 then goto step3 endi if $data(2)[4] == leader then $hasleader = 1 endi if $data(2)[6] == leader then $hasleader = 1 endi if $data(2)[8] == leader then $hasleader = 1 endi if $hasleader != 1 then goto step3 endi print ============= step5: stop dnode 2 sql select * from db.stb if $rows != 1 then return -1 endi system sh/exec.sh -n dnode1 -s stop -x SIGINT system sh/exec.sh -n dnode2 -s stop -x SIGINT system sh/exec.sh -n dnode3 -s stop -x SIGINT system sh/exec.sh -n dnode4 -s stop -x SIGINT