Merge branch 'develop' into feature/2.0tsdb

This commit is contained in:
Hongze Cheng 2020-05-14 10:37:39 +00:00
commit d3747f6ba5
9 changed files with 158 additions and 63 deletions

View File

@ -74,6 +74,7 @@ static int32_t mgmtDnodeActionDelete(SSdbOper *pOper) {
SDnodeObj *pDnode = pOper->pObj; SDnodeObj *pDnode = pOper->pObj;
#ifndef _SYNC #ifndef _SYNC
//TODO: drop dnode local
mgmtDropAllDnodeVgroups(pDnode); mgmtDropAllDnodeVgroups(pDnode);
#endif #endif
mgmtDropMnodeLocal(pDnode->dnodeId); mgmtDropMnodeLocal(pDnode->dnodeId);

View File

@ -546,6 +546,7 @@ static void *mgmtGetSuperTableByUid(uint64_t uid) {
pIter = mgmtGetNextSuperTable(pIter, &pStable); pIter = mgmtGetNextSuperTable(pIter, &pStable);
if (pStable == NULL) break; if (pStable == NULL) break;
if (pStable->uid == uid) { if (pStable->uid == uid) {
sdbFreeIter(pIter);
return pStable; return pStable;
} }
mgmtDecTableRef(pStable); mgmtDecTableRef(pStable);
@ -1459,15 +1460,15 @@ static void mgmtProcessCreateChildTableMsg(SQueuedMsg *pMsg) {
return; return;
} }
int32_t sid = taosAllocateId(pVgroup->idPool);
if (sid <= 0) {
mTrace("tables:%s, no enough sid in vgId:%d", pCreate->tableId, pVgroup->vgId);
mgmtCreateVgroup(mgmtCloneQueuedMsg(pMsg), pMsg->pDb);
return;
}
if (pMsg->retry == 0) { if (pMsg->retry == 0) {
if (pMsg->pTable == NULL) { if (pMsg->pTable == NULL) {
int32_t sid = taosAllocateId(pVgroup->idPool);
if (sid <= 0) {
mTrace("tables:%s, no enough sid in vgId:%d", pCreate->tableId, pVgroup->vgId);
mgmtCreateVgroup(mgmtCloneQueuedMsg(pMsg), pMsg->pDb);
return;
}
pMsg->pTable = (STableObj *)mgmtDoCreateChildTable(pCreate, pVgroup, sid); pMsg->pTable = (STableObj *)mgmtDoCreateChildTable(pCreate, pVgroup, sid);
mgmtIncTableRef(pMsg->pTable); mgmtIncTableRef(pMsg->pTable);
} }

View File

@ -666,7 +666,6 @@ static SMDDropVnodeMsg *mgmtBuildDropVnodeMsg(int32_t vgId) {
} }
void mgmtSendDropVnodeMsg(int32_t vgId, SRpcIpSet *ipSet, void *ahandle) { void mgmtSendDropVnodeMsg(int32_t vgId, SRpcIpSet *ipSet, void *ahandle) {
mTrace("vgId:%d, send drop vnode msg, ahandle:%p", vgId, ahandle);
SMDDropVnodeMsg *pDrop = mgmtBuildDropVnodeMsg(vgId); SMDDropVnodeMsg *pDrop = mgmtBuildDropVnodeMsg(vgId);
SRpcMsg rpcMsg = { SRpcMsg rpcMsg = {
.handle = ahandle, .handle = ahandle,
@ -682,6 +681,7 @@ static void mgmtSendDropVgroupMsg(SVgObj *pVgroup, void *ahandle) {
mTrace("vgId:%d, send drop all vnodes msg, ahandle:%p", pVgroup->vgId, ahandle); mTrace("vgId:%d, send drop all vnodes msg, ahandle:%p", pVgroup->vgId, ahandle);
for (int32_t i = 0; i < pVgroup->numOfVnodes; ++i) { for (int32_t i = 0; i < pVgroup->numOfVnodes; ++i) {
SRpcIpSet ipSet = mgmtGetIpSetFromIp(pVgroup->vnodeGid[i].pDnode->dnodeEp); SRpcIpSet ipSet = mgmtGetIpSetFromIp(pVgroup->vnodeGid[i].pDnode->dnodeEp);
mTrace("vgId:%d, send drop vnode msg to dnode:%d, ahandle:%p", pVgroup->vgId, pVgroup->vnodeGid[i].dnodeId, ahandle);
mgmtSendDropVnodeMsg(pVgroup->vgId, &ipSet, ahandle); mgmtSendDropVnodeMsg(pVgroup->vgId, &ipSet, ahandle);
} }
} }

View File

@ -352,7 +352,6 @@ static void vnodeBuildVloadMsg(SVnodeObj *pVnode, SDMStatusMsg *pStatus) {
pLoad->status = pVnode->status; pLoad->status = pVnode->status;
pLoad->role = pVnode->role; pLoad->role = pVnode->role;
pLoad->replica = pVnode->syncCfg.replica; pLoad->replica = pVnode->syncCfg.replica;
pStatus->openVnodes++;
} }
void vnodeBuildStatusMsg(void *param) { void vnodeBuildStatusMsg(void *param) {

View File

@ -0,0 +1,59 @@
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/cfg.sh -n dnode1 -c wallevel -v 2
system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 10
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
print ======== step1
sql create database db blocks 2 maxtables 1000
sql create table db.mt (ts timestamp, tbcol int) TAGS(tgcol int)
$tbPrefix = db.t
$i = 0
while $i < 2000
$tb = $tbPrefix . $i
sql create table $tb using db.mt tags( $i )
$i = $i + 1
endw
print ======== step2
sleep 1000
sql drop database db
sql show databases
if $rows != 0 then
return -1
endi
sleep 1000
sql show dnodes
print dnode1 openVnodes $data2_1
if $data2_1 != 0 then
return -1
endi
print ======= step3
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 1000
system sh/exec.sh -n dnode1 -s start
$x = 0
step3:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show mnodes
print dnode1 role $data2_1
if $data2_1 != master then
goto step3
endi
sleep 1000
system sh/exec.sh -n dnode1 -s stop -x SIGINT

View File

@ -49,6 +49,7 @@ cd ../../../debug; make
./test.sh -f general/db/basic3.sim ./test.sh -f general/db/basic3.sim
./test.sh -f general/db/basic4.sim ./test.sh -f general/db/basic4.sim
./test.sh -f general/db/basic5.sim ./test.sh -f general/db/basic5.sim
./test.sh -f unique/db/delete.sim
./test.sh -f general/db/delete_reuse1.sim ./test.sh -f general/db/delete_reuse1.sim
./test.sh -f general/db/delete_reuse2.sim ./test.sh -f general/db/delete_reuse2.sim
./test.sh -f general/db/delete_reusevnode.sim ./test.sh -f general/db/delete_reusevnode.sim
@ -243,15 +244,15 @@ cd ../../../debug; make
#slguan ./test.sh -u -f unique/big/maxvnodes.sim #slguan ./test.sh -u -f unique/big/maxvnodes.sim
./test.sh -u -f unique/big/tcp.sim ./test.sh -u -f unique/big/tcp.sim
##./test.sh -u -f unique/cluster/balance1.sim #jeff ./test.sh -u -f unique/cluster/balance1.sim
##./test.sh -u -f unique/cluster/balance2.sim #jeff ./test.sh -u -f unique/cluster/balance2.sim
##./test.sh -u -f unique/cluster/balance3.sim #jeff ./test.sh -u -f unique/cluster/balance3.sim
#./test.sh -u -f unique/cluster/cache.sim #./test.sh -u -f unique/cluster/cache.sim
./test.sh -u -f unique/column/replica3.sim ./test.sh -u -f unique/column/replica3.sim
#./test.sh -u -f unique/db/commit.sim #hongze ./test.sh -u -f unique/db/commit.sim
#./test.sh -u -f unique/db/delete.sim ./test.sh -u -f unique/db/delete.sim
#./test.sh -u -f unique/db/delete_part.sim #./test.sh -u -f unique/db/delete_part.sim
##./test.sh -u -f unique/db/replica_add12.sim ##./test.sh -u -f unique/db/replica_add12.sim
##./test.sh -u -f unique/db/replica_add13.sim ##./test.sh -u -f unique/db/replica_add13.sim
@ -269,7 +270,7 @@ cd ../../../debug; make
##./test.sh -u -f unique/dnode/offline2.sim ##./test.sh -u -f unique/dnode/offline2.sim
./test.sh -u -f unique/dnode/remove1.sim ./test.sh -u -f unique/dnode/remove1.sim
#hongze ./test.sh -u -f unique/dnode/remove2.sim #hongze ./test.sh -u -f unique/dnode/remove2.sim
#./test.sh -u -f unique/dnode/vnode_clean.sim ./test.sh -u -f unique/dnode/vnode_clean.sim
./test.sh -u -f unique/http/admin.sim ./test.sh -u -f unique/http/admin.sim
./test.sh -u -f unique/http/opentsdb.sim ./test.sh -u -f unique/http/opentsdb.sim
@ -302,6 +303,6 @@ cd ../../../debug; make
#./test.sh -u -f unique/vnode/replica2_basic.sim #./test.sh -u -f unique/vnode/replica2_basic.sim
./test.sh -u -f unique/vnode/replica2_basic2.sim ./test.sh -u -f unique/vnode/replica2_basic2.sim
#./test.sh -u -f unique/vnode/replica2_repeat.sim #./test.sh -u -f unique/vnode/replica2_repeat.sim
##./test.sh -u -f unique/vnode/replica3_basic.sim #hongze ./test.sh -u -f unique/vnode/replica3_basic.sim
#./test.sh -u -f unique/vnode/replica3_repeat.sim #./test.sh -u -f unique/vnode/replica3_repeat.sim
#./test.sh -u -f unique/vnode/replica3_vgroup.sim #./test.sh -u -f unique/vnode/replica3_vgroup.sim

View File

@ -72,8 +72,8 @@ sql import into tb values (now - 10d , -10 )
sql import into tb values (now - 11d , -11 ) sql import into tb values (now - 11d , -11 )
sql select * from tb order by ts desc sql select * from tb order by ts desc
print ===> rows $rows print ===> rows $rows expect $num
print ===> last $data01 print ===> last $data01 expect $data01
if $rows != $num then if $rows != $num then
return -1 return -1

View File

@ -1,7 +1,4 @@
system sh/stop_dnodes.sh system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1 system sh/deploy.sh -n dnode1 -i 1
system sh/deploy.sh -n dnode2 -i 2 system sh/deploy.sh -n dnode2 -i 2
system sh/deploy.sh -n dnode3 -i 3 system sh/deploy.sh -n dnode3 -i 3
@ -18,20 +15,20 @@ system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 10
print ========= start dnodes print ========= start dnodes
system sh/exec_up.sh -n dnode1 -s start system sh/exec_up.sh -n dnode1 -s start
sleep 3000
sql connect sql connect
sql create dnode $hostname2 sql create dnode $hostname2
system sh/exec_up.sh -n dnode2 -s start system sh/exec_up.sh -n dnode2 -s start
sql create dnode $hostname3 sql create dnode $hostname3
system sh/exec_up.sh -n dnode3 -s start system sh/exec_up.sh -n dnode3 -s start
sleep 3000
print ======== step1 print ======== step1
sql create database db replica 3 ablocks 2 tblocks 5 maxtables 10000 sql create database db replica 3 blocks 2 maxtables 1000
sql create table db.mt (ts timestamp, tbcol int) TAGS(tgcol int) sql create table db.mt (ts timestamp, tbcol int) TAGS(tgcol int)
$tbPrefix = db.t $tbPrefix = db.t
$i = 0 $i = 0
while $i < 100000 while $i < 2000
$tb = $tbPrefix . $i $tb = $tbPrefix . $i
sql create table $tb using db.mt tags( $i ) sql create table $tb using db.mt tags( $i )
$i = $i + 1 $i = $i + 1
@ -45,6 +42,48 @@ if $rows != 0 then
return -1 return -1
endi endi
sleep 3000
sql show dnodes
print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3
if $data2_1 != 0 then
return -1
endi
if $data2_2 != 0 then
return -1
endi
if $data2_3 != 0 then
return -1
endi
print ======== step3
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
sleep 1000
system sh/exec.sh -n dnode1 -s start -t
system sh/exec.sh -n dnode2 -s start -t
system sh/exec.sh -n dnode3 -s start -t
$x = 0
step3:
$x = $x + 1
sleep 2000
if $x == 10 then
return -1
endi
sql show mnodes
print dnode1 role $data2_1
if $data2_1 != master then
goto step3
endi
sleep 1000
system sh/exec_up.sh -n dnode1 -s stop -x SIGINT 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 dnode2 -s stop -x SIGINT
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT system sh/exec_up.sh -n dnode3 -s stop -x SIGINT

View File

@ -29,7 +29,7 @@ sql insert into d1.t1 values(now+5s, 11)
sql show dnodes sql show dnodes
print dnode1 openVnodes $data2_1 print dnode1 openVnodes $data2_1
if $data2_1 != 3 then if $data2_1 != 1 then
return -1 return -1
endi endi
@ -41,16 +41,16 @@ $x = 0
show2: show2:
$x = $x + 1 $x = $x + 1
sleep 2000 sleep 2000
if $x == 30 then if $x == 10 then
return -1 return -1
endi endi
sql show dnodes sql show dnodes
print dnode1 openVnodes $data2_1 print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2 print dnode2 openVnodes $data2_2
if $data2_1 != 4 then if $data2_1 != 0 then
goto show2 goto show2
endi endi
if $data2_2 != 3 then if $data2_2 != 1 then
goto show2 goto show2
endi endi
@ -68,7 +68,7 @@ $x = 0
sql show dnodes sql show dnodes
print dnode1 openVnodes $data2_1 print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2 print dnode2 openVnodes $data2_2
if $data2_1 != 4 then if $data2_1 != 0 then
return -1 return -1
endi endi
if $data2_2 != 2 then if $data2_2 != 2 then
@ -82,7 +82,7 @@ $x = 0
show4: show4:
$x = $x + 1 $x = $x + 1
sleep 2000 sleep 2000
if $x == 30 then if $x == 10 then
return -1 return -1
endi endi
sql show dnodes sql show dnodes
@ -91,7 +91,7 @@ print dnode2 openVnodes $data2_2
if $data2_1 != 2 then if $data2_1 != 2 then
goto show4 goto show4
endi endi
if $data2_2 != NULL then if $data2_2 != null then
goto show4 goto show4
endi endi
if $rows != 1 then if $rows != 1 then
@ -102,13 +102,8 @@ system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
print ========== step5 print ========== step5
sleep 2000 sleep 2000
sql create dnode $hostname2 sql create dnode $hostname3
system sh/deploy.sh -n dnode2 -i 2 system sh/exec_up.sh -n dnode3 -s start
system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode2 -c balanceInterval -v 10
system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c wallevel -v 1
system sh/exec_up.sh -n dnode2 -s start
$x = 0 $x = 0
show5: show5:
@ -119,11 +114,11 @@ show5:
endi endi
sql show dnodes sql show dnodes
print dnode1 openVnodes $data2_1 print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2 print dnode3 openVnodes $data2_3
if $data2_1 != 4 then if $data2_1 != 0 then
goto show5 goto show5
endi endi
if $data2_2 != 2 then if $data2_3 != 2 then
goto show5 goto show5
endi endi
@ -138,17 +133,17 @@ sql insert into d3.t3 values(now+5s, 31)
sql show dnodes sql show dnodes
print dnode1 openVnodes $data2_1 print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2 print dnode2 openVnodes $data2_3
if $data2_1 != 4 then if $data2_1 != 0 then
return -1 return -1
endi endi
if $data2_2 != 1 then if $data2_3 != 3 then
return -1 return -1
endi endi
print ========== step7 print ========== step7
sql create dnode $hostname3 sql create dnode $hostname4
system sh/exec_up.sh -n dnode3 -s start system sh/exec_up.sh -n dnode4 -s start
$x = 0 $x = 0
show7: show7:
@ -160,15 +155,15 @@ show7:
sql show dnodes sql show dnodes
print dnode1 openVnodes $data2_1 print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3 print dnode3 openVnodes $data2_3
if $data2_1 != 4 then print dnode4 openVnodes $data2_4
if $data2_1 != 0 then
goto show7 goto show7
endi endi
if $data2_2 != 2 then if $data2_3 != 2 then
goto show7 goto show7
endi endi
if $data2_3 != 3 then if $data2_4 != 1 then
goto show7 goto show7
endi endi
@ -185,49 +180,49 @@ $x = 0
show8: show8:
$x = $x + 1 $x = $x + 1
sleep 2000 sleep 2000
if $x == 30 then if $x == 10 then
return -1 return -1
endi endi
sql show dnodes sql show dnodes
print dnode1 openVnodes $data2_1 print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3 print dnode3 openVnodes $data2_3
if $data2_1 != 4 then print dnode4 openVnodes $data2_4
goto show8 if $data2_1 != 0 then
endi
if $data2_2 != 2 then
goto show8 goto show8
endi endi
if $data2_3 != 2 then if $data2_3 != 2 then
goto show8 goto show8
endi endi
if $data2_4 != 2 then
goto show8
endi
print ========== step9 print ========== step9
sql drop dnode $hostname2 sql drop dnode $hostname3
$x = 0 $x = 0
show9: show9:
$x = $x + 1 $x = $x + 1
sleep 2000 sleep 2000
if $x == 30 then if $x == 10 then
return -1 return -1
endi endi
sql show dnodes sql show dnodes
print dnode1 openVnodes $data2_1 print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3 print dnode3 openVnodes $data2_3
if $data2_1 != 4 then print dnode4 openVnodes $data2_4
if $data2_1 != 0 then
goto show9 goto show9
endi endi
if $data2_2 != NULL then if $data2_3 != null then
goto show9 goto show9
endi endi
if $data2_3 != 0 then if $data2_4 != 4 then
goto show9 goto show9
endi endi
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
print ========== step10 print ========== step10
sql select * from d1.t1 order by t desc sql select * from d1.t1 order by t desc