From 7aafa5eda7f5879cc790b812d7031b3c132c6838 Mon Sep 17 00:00:00 2001 From: slguan Date: Mon, 27 Apr 2020 12:04:10 +0800 Subject: [PATCH] [TD-184] --- src/mnode/src/mgmtBalance.c | 6 ++- src/vnode/src/vnodeMain.c | 2 +- tests/script/sh/deploy.sh | 1 + tests/script/tmp/prepare.sim | 28 +++++++++- tests/script/unique/db/commit.sim | 6 +-- tests/script/unique/db/delete.sim | 6 +-- tests/script/unique/db/delete_part.sim | 8 +-- tests/script/unique/db/replica_add12.sim | 60 +++++++++++++-------- tests/script/unique/db/replica_add13.sim | 8 +-- tests/script/unique/db/replica_add23.sim | 8 +-- tests/script/unique/db/replica_part.sim | 12 ++--- tests/script/unique/db/replica_reduce21.sim | 6 +-- tests/script/unique/db/replica_reduce31.sim | 6 +-- tests/script/unique/db/replica_reduce32.sim | 6 +-- 14 files changed, 104 insertions(+), 59 deletions(-) diff --git a/src/mnode/src/mgmtBalance.c b/src/mnode/src/mgmtBalance.c index 7b85dc08e3..c6c10e0da0 100644 --- a/src/mnode/src/mgmtBalance.c +++ b/src/mnode/src/mgmtBalance.c @@ -17,6 +17,7 @@ #include "os.h" #include "trpc.h" #include "tbalance.h" +#include "tglobal.h" #include "mgmtDef.h" #include "mgmtLog.h" #include "mgmtMnode.h" @@ -41,7 +42,10 @@ int32_t balanceAllocVnodes(SVgObj *pVgroup) { if (pDnode == NULL) break; if (pDnode->totalVnodes > 0 && pDnode->openVnodes < pDnode->totalVnodes) { - float usage = (float)pDnode->openVnodes / pDnode->totalVnodes; + float openVnodes = pDnode->openVnodes; + if (pDnode->isMgmt) openVnodes += tsMgmtEqualVnodeNum; + + float usage = openVnodes / pDnode->totalVnodes; if (usage <= vnodeUsage) { pSelDnode = pDnode; vnodeUsage = usage; diff --git a/src/vnode/src/vnodeMain.c b/src/vnode/src/vnodeMain.c index 96470c4e3a..cac1030a93 100644 --- a/src/vnode/src/vnodeMain.c +++ b/src/vnode/src/vnodeMain.c @@ -286,7 +286,7 @@ void *vnodeGetVnode(int32_t vgId) { SVnodeObj **ppVnode = (SVnodeObj **)taosGetIntHashData(tsDnodeVnodesHash, vgId); if (ppVnode == NULL || *ppVnode == NULL) { terrno = TSDB_CODE_INVALID_VGROUP_ID; - dError("vgId:%d not exist", vgId); + dPrint("vgId:%d not exist", vgId); return NULL; } diff --git a/tests/script/sh/deploy.sh b/tests/script/sh/deploy.sh index 907ca6848b..e2618a78cb 100755 --- a/tests/script/sh/deploy.sh +++ b/tests/script/sh/deploy.sh @@ -101,6 +101,7 @@ echo "monitorDebugFlag 131" >> $TAOS_CFG echo "udebugFlag 131" >> $TAOS_CFG echo "jnidebugFlag 131" >> $TAOS_CFG echo "monitor 0" >> $TAOS_CFG +echo "http 0" >> $TAOS_CFG echo "numOfThreadsPerCore 2.0" >> $TAOS_CFG echo "defaultPass taosdata" >> $TAOS_CFG echo "numOfLogLines 100000000" >> $TAOS_CFG diff --git a/tests/script/tmp/prepare.sim b/tests/script/tmp/prepare.sim index 731b707434..7890864360 100644 --- a/tests/script/tmp/prepare.sim +++ b/tests/script/tmp/prepare.sim @@ -1,4 +1,30 @@ system sh/stop_dnodes.sh +system sh/ip.sh -i 1 -s up +system sh/ip.sh -i 2 -s up +system sh/ip.sh -i 3 -s up +system sh/ip.sh -i 4 -s up + system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1 system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 -system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 \ No newline at end of file +system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 +system sh/deploy.sh -n dnode4 -m 192.168.0.1 -i 192.168.0.4 + +system sh/cfg.sh -n dnode1 -c commitLog -v 2 +system sh/cfg.sh -n dnode2 -c commitLog -v 2 +system sh/cfg.sh -n dnode3 -c commitLog -v 2 +system sh/cfg.sh -n dnode4 -c commitLog -v 2 + +system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 +system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 +system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1 +system sh/cfg.sh -n dnode4 -c numOfMPeers -v 1 + +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 dnode4 -c mgmtEqualVnodeNum -v 4 + +system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4 +system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4 +system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4 +system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4 \ No newline at end of file diff --git a/tests/script/unique/db/commit.sim b/tests/script/unique/db/commit.sim index 7111574081..7f86f85c97 100644 --- a/tests/script/unique/db/commit.sim +++ b/tests/script/unique/db/commit.sim @@ -6,9 +6,9 @@ system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1 system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 -system sh/cfg.sh -n dnode1 -c commitLog -v 0 -system sh/cfg.sh -n dnode2 -c commitLog -v 0 -system sh/cfg.sh -n dnode3 -c commitLog -v 0 +system sh/cfg.sh -n dnode1 -c commitLog -v 2 +system sh/cfg.sh -n dnode2 -c commitLog -v 2 +system sh/cfg.sh -n dnode3 -c commitLog -v 2 system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1 diff --git a/tests/script/unique/db/delete.sim b/tests/script/unique/db/delete.sim index ab44841522..9262239b04 100644 --- a/tests/script/unique/db/delete.sim +++ b/tests/script/unique/db/delete.sim @@ -6,9 +6,9 @@ system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1 system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 -system sh/cfg.sh -n dnode1 -c clog -v 0 -system sh/cfg.sh -n dnode2 -c clog -v 0 -system sh/cfg.sh -n dnode3 -c clog -v 0 +system sh/cfg.sh -n dnode1 -c clog -v 2 +system sh/cfg.sh -n dnode2 -c clog -v 2 +system sh/cfg.sh -n dnode3 -c clog -v 2 system sh/cfg.sh -n dnode1 -c numOfMPeers -v 3 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 3 system sh/cfg.sh -n dnode3 -c numOfMPeers -v 3 diff --git a/tests/script/unique/db/delete_part.sim b/tests/script/unique/db/delete_part.sim index 0a03bc558c..a0a3356cd0 100644 --- a/tests/script/unique/db/delete_part.sim +++ b/tests/script/unique/db/delete_part.sim @@ -9,10 +9,10 @@ system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 system sh/deploy.sh -n dnode4 -m 192.168.0.1 -i 192.168.0.4 -system sh/cfg.sh -n dnode1 -c commitLog -v 0 -system sh/cfg.sh -n dnode2 -c commitLog -v 0 -system sh/cfg.sh -n dnode3 -c commitLog -v 0 -system sh/cfg.sh -n dnode4 -c commitLog -v 0 +system sh/cfg.sh -n dnode1 -c clog -v 2 +system sh/cfg.sh -n dnode2 -c clog -v 2 +system sh/cfg.sh -n dnode3 -c clog -v 2 +system sh/cfg.sh -n dnode4 -c clog -v 2 system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 diff --git a/tests/script/unique/db/replica_add12.sim b/tests/script/unique/db/replica_add12.sim index 6ef47132c2..9f5adfeb06 100644 --- a/tests/script/unique/db/replica_add12.sim +++ b/tests/script/unique/db/replica_add12.sim @@ -9,10 +9,10 @@ system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 system sh/deploy.sh -n dnode4 -m 192.168.0.1 -i 192.168.0.4 -system sh/cfg.sh -n dnode1 -c commitLog -v 1 -system sh/cfg.sh -n dnode2 -c commitLog -v 1 -system sh/cfg.sh -n dnode3 -c commitLog -v 1 -system sh/cfg.sh -n dnode4 -c commitLog -v 1 +system sh/cfg.sh -n dnode1 -c clog -v 2 +system sh/cfg.sh -n dnode2 -c clog -v 2 +system sh/cfg.sh -n dnode3 -c clog -v 2 +system sh/cfg.sh -n dnode4 -c clog -v 2 system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 @@ -30,12 +30,12 @@ system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4 print ========= start dnodes -system sh/exec.sh -n dnode1 -s start +system sh/exec_up.sh -n dnode1 -s start sql connect sql create dnode 192.168.0.2 -system sh/exec.sh -n dnode2 -s start +system sh/exec_up.sh -n dnode2 -s start sql create dnode 192.168.0.3 -system sh/exec.sh -n dnode3 -s start +system sh/exec_up.sh -n dnode3 -s start sleep 3000 print ======== step1 @@ -76,12 +76,29 @@ endi sleep 2000 +sql show dnodes +print dnode192.168.0.1 ==> openVnodes: $data3_1 +print dnode192.168.0.2 ==> openVnodes: $data3_2 +print dnode192.168.0.3 ==> openVnodes: $data3_3 + +if $data3_1 != 0 then + return -1 +endi + +if $data3_2 != 2 then + return -1 +endi + +if $data3_3 != 2 then + return -1 +endi + print ======== step2 sql alter database d1 replica 2 sql alter database d2 replica 2 sql alter database d3 replica 2 sql alter database d4 replica 2 -sleep 22000 +sleep 2000 print ======== step3 $x = 0 @@ -93,25 +110,22 @@ show3: endi sql show dnodes -print dnode192.168.0.1 ==> openVnodes: $data2_192.168.0.1 freeVnodes: $data3_192.168.0.1 -print dnode192.168.0.2 ==> openVnodes: $data2_192.168.0.2 freeVnodes: $data3_192.168.0.2 -print dnode192.168.0.3 ==> openVnodes: $data2_192.168.0.3 freeVnodes: $data3_192.168.0.3 +print dnode192.168.0.1 ==> openVnodes: $data3_1 +print dnode192.168.0.2 ==> openVnodes: $data3_2 +print dnode192.168.0.3 ==> openVnodes: $data3_3 -if $data2_192.168.0.1 != 0 then +if $data3_1 != 0 then goto show3 endi -if $data3_192.168.0.1 != 4 then +if $data3_2 != 4 then goto show3 endi -if $data3_192.168.0.2 != 0 then +if $data3_3 != 4 then goto show3 endi -if $data3_192.168.0.3 != 0 then - goto show3 -endi print ======== step4 sql insert into d1.t1 values(now, 2) @@ -139,9 +153,9 @@ if $rows != 2 then return -1 endi -sleep 20000 +sleep 10000 print ========= step5 -system sh/exec.sh -n dnode2 -s stop -x SIGINT +system sh/exec_up.sh -n dnode2 -s stop -x SIGINT sleep 5000 sql insert into d1.t1 values(now, 3) @@ -170,9 +184,9 @@ if $rows != 3 then endi print ========= step6 -system sh/exec.sh -n dnode2 -s start +system sh/exec_up.sh -n dnode2 -s start sleep 10000 -system sh/exec.sh -n dnode3 -s stop -x SIGINT +system sh/exec_up.sh -n dnode3 -s stop -x SIGINT sleep 10000 sql insert into d1.t1 values(now, 4) @@ -201,9 +215,9 @@ if $rows != 4 then endi print ========= step7 -system sh/exec.sh -n dnode3 -s start +system sh/exec_up.sh -n dnode3 -s start sleep 10000 -system sh/exec.sh -n dnode2 -s stop -x SIGINT +system sh/exec_up.sh -n dnode2 -s stop -x SIGINT sleep 10000 sql insert into d1.t1 values(now, 5) diff --git a/tests/script/unique/db/replica_add13.sim b/tests/script/unique/db/replica_add13.sim index ff8e73e97a..fd5515f1a8 100644 --- a/tests/script/unique/db/replica_add13.sim +++ b/tests/script/unique/db/replica_add13.sim @@ -9,10 +9,10 @@ system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 system sh/deploy.sh -n dnode4 -m 192.168.0.1 -i 192.168.0.4 -system sh/cfg.sh -n dnode1 -c commitLog -v 1 -system sh/cfg.sh -n dnode2 -c commitLog -v 1 -system sh/cfg.sh -n dnode3 -c commitLog -v 1 -system sh/cfg.sh -n dnode4 -c commitLog -v 1 +system sh/cfg.sh -n dnode1 -c clog -v 2 +system sh/cfg.sh -n dnode2 -c clog -v 2 +system sh/cfg.sh -n dnode3 -c clog -v 2 +system sh/cfg.sh -n dnode4 -c clog -v 2 system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 diff --git a/tests/script/unique/db/replica_add23.sim b/tests/script/unique/db/replica_add23.sim index d839efa82b..9aea2e5a4a 100644 --- a/tests/script/unique/db/replica_add23.sim +++ b/tests/script/unique/db/replica_add23.sim @@ -9,10 +9,10 @@ system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 system sh/deploy.sh -n dnode4 -m 192.168.0.1 -i 192.168.0.4 -system sh/cfg.sh -n dnode1 -c commitLog -v 1 -system sh/cfg.sh -n dnode2 -c commitLog -v 1 -system sh/cfg.sh -n dnode3 -c commitLog -v 1 -system sh/cfg.sh -n dnode4 -c commitLog -v 1 +system sh/cfg.sh -n dnode1 -c clog -v 2 +system sh/cfg.sh -n dnode2 -c clog -v 2 +system sh/cfg.sh -n dnode3 -c clog -v 2 +system sh/cfg.sh -n dnode4 -c clog -v 2 system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 diff --git a/tests/script/unique/db/replica_part.sim b/tests/script/unique/db/replica_part.sim index 7753b47b4e..f1b037a9d9 100644 --- a/tests/script/unique/db/replica_part.sim +++ b/tests/script/unique/db/replica_part.sim @@ -6,12 +6,12 @@ system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1 system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 -system sh/cfg.sh -n dnode1 -c commitLog -v 0 -system sh/cfg.sh -n dnode2 -c commitLog -v 0 -system sh/cfg.sh -n dnode3 -c commitLog -v 0 -system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 -system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 -system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1 +system sh/cfg.sh -n dnode1 -c clog -v 2 +system sh/cfg.sh -n dnode2 -c clog -v 2 +system sh/cfg.sh -n dnode3 -c clog -v 2 +system sh/cfg.sh -n dnode1 -c numOfMPeers -v 2 +system sh/cfg.sh -n dnode2 -c numOfMPeers -v 2 +system sh/cfg.sh -n dnode3 -c numOfMPeers -v 2 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 diff --git a/tests/script/unique/db/replica_reduce21.sim b/tests/script/unique/db/replica_reduce21.sim index e79aedbb24..085d07b714 100644 --- a/tests/script/unique/db/replica_reduce21.sim +++ b/tests/script/unique/db/replica_reduce21.sim @@ -6,9 +6,9 @@ system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1 system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 -system sh/cfg.sh -n dnode1 -c commitLog -v 1 -system sh/cfg.sh -n dnode2 -c commitLog -v 1 -system sh/cfg.sh -n dnode3 -c commitLog -v 1 +system sh/cfg.sh -n dnode1 -c clog -v 2 +system sh/cfg.sh -n dnode2 -c clog -v 2 +system sh/cfg.sh -n dnode3 -c clog -v 2 system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1 diff --git a/tests/script/unique/db/replica_reduce31.sim b/tests/script/unique/db/replica_reduce31.sim index 92da979b97..1190d688aa 100644 --- a/tests/script/unique/db/replica_reduce31.sim +++ b/tests/script/unique/db/replica_reduce31.sim @@ -6,9 +6,9 @@ system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1 system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 -system sh/cfg.sh -n dnode1 -c commitLog -v 1 -system sh/cfg.sh -n dnode2 -c commitLog -v 1 -system sh/cfg.sh -n dnode3 -c commitLog -v 1 +system sh/cfg.sh -n dnode1 -c clog -v 2 +system sh/cfg.sh -n dnode2 -c clog -v 2 +system sh/cfg.sh -n dnode3 -c clog -v 2 system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1 diff --git a/tests/script/unique/db/replica_reduce32.sim b/tests/script/unique/db/replica_reduce32.sim index 86f99e72be..cdb5ada79b 100644 --- a/tests/script/unique/db/replica_reduce32.sim +++ b/tests/script/unique/db/replica_reduce32.sim @@ -6,9 +6,9 @@ system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1 system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2 system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3 -system sh/cfg.sh -n dnode1 -c commitLog -v 1 -system sh/cfg.sh -n dnode2 -c commitLog -v 1 -system sh/cfg.sh -n dnode3 -c commitLog -v 1 +system sh/cfg.sh -n dnode1 -c clog -v 2 +system sh/cfg.sh -n dnode2 -c clog -v 2 +system sh/cfg.sh -n dnode3 -c clog -v 2 system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1 system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1