Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
c907346e
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
c907346e
编写于
12月 28, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
12月 28, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4739 from taosdata/feature/wal
Feature/wal
上级
163e3123
852f4891
变更
9
显示空白变更内容
内联
并排
Showing
9 changed file
with
867 addition
and
52 deletion
+867
-52
src/balance/src/bnMain.c
src/balance/src/bnMain.c
+79
-6
tests/script/jenkins/basic.txt
tests/script/jenkins/basic.txt
+2
-0
tests/script/jenkins/unique.txt
tests/script/jenkins/unique.txt
+2
-0
tests/script/unique/cluster/balance1.sim
tests/script/unique/cluster/balance1.sim
+4
-4
tests/script/unique/dnode/m2.sim
tests/script/unique/dnode/m2.sim
+367
-0
tests/script/unique/dnode/m3.sim
tests/script/unique/dnode/m3.sim
+359
-0
tests/script/unique/migrate/mn2_vn2_repl2_rmMnodeDir.sim
tests/script/unique/migrate/mn2_vn2_repl2_rmMnodeDir.sim
+22
-14
tests/script/unique/migrate/mn2_vn2_repl2_rmMnodeVnodeDir.sim
...s/script/unique/migrate/mn2_vn2_repl2_rmMnodeVnodeDir.sim
+16
-14
tests/script/unique/migrate/mn2_vn2_repl2_rmVnodeDir.sim
tests/script/unique/migrate/mn2_vn2_repl2_rmVnodeDir.sim
+16
-14
未找到文件。
src/balance/src/bnMain.c
浏览文件 @
c907346e
...
@@ -66,6 +66,77 @@ static bool bnCheckFree(SDnodeObj *pDnode) {
...
@@ -66,6 +66,77 @@ static bool bnCheckFree(SDnodeObj *pDnode) {
return
true
;
return
true
;
}
}
static
void
bnSwapVnodeGid
(
SVnodeGid
*
pVnodeGid1
,
SVnodeGid
*
pVnodeGid2
)
{
SVnodeGid
tmp
=
*
pVnodeGid1
;
*
pVnodeGid1
=
*
pVnodeGid2
;
*
pVnodeGid2
=
tmp
;
}
static
void
bnAdjustVnodeIndex
(
SVgObj
*
pInVg
)
{
int32_t
d0Id
=
pInVg
->
vnodeGid
[
0
].
dnodeId
;
int32_t
d1Id
=
pInVg
->
vnodeGid
[
1
].
dnodeId
;
int32_t
d2Id
=
pInVg
->
vnodeGid
[
2
].
dnodeId
;
int32_t
vgId
=
pInVg
->
vgId
;
int32_t
d0Num
=
0
;
int32_t
d1Num
=
0
;
int32_t
d2Num
=
0
;
void
*
pIter
=
NULL
;
while
(
1
)
{
SVgObj
*
pVgroup
=
NULL
;
pIter
=
mnodeGetNextVgroup
(
pIter
,
&
pVgroup
);
if
(
pVgroup
==
NULL
)
break
;
if
(
pVgroup
->
vgId
!=
vgId
)
{
if
(
pVgroup
->
vnodeGid
[
0
].
dnodeId
==
d0Id
)
d0Num
++
;
if
(
pVgroup
->
vnodeGid
[
0
].
dnodeId
==
d1Id
)
d1Num
++
;
if
(
pVgroup
->
vnodeGid
[
0
].
dnodeId
==
d2Id
)
d2Num
++
;
}
mnodeDecVgroupRef
(
pVgroup
);
}
if
(
pInVg
->
numOfVnodes
==
1
)
{
}
if
(
pInVg
->
numOfVnodes
==
2
)
{
mDebug
(
"vgId:%d, dnode:%d num:%d dnode:%d num:%d"
,
pInVg
->
vgId
,
d0Id
,
d0Num
,
d1Id
,
d1Num
);
if
(
d0Num
>
d1Num
)
{
mDebug
(
"vgId:%d, adjust vnode index 0 to 1"
,
pInVg
->
vgId
);
bnSwapVnodeGid
(
&
pInVg
->
vnodeGid
[
0
],
&
pInVg
->
vnodeGid
[
1
]);
}
}
if
(
pInVg
->
numOfVnodes
>=
3
)
{
mDebug
(
"vgId:%d, dnode:%d num:%d dnode:%d num:%d dnode:%d num:%d"
,
pInVg
->
vgId
,
d0Id
,
d0Num
,
d1Id
,
d1Num
,
d2Id
,
d2Num
);
if
(
d0Num
<=
d1Num
&&
d0Num
<=
d2Num
)
{
if
(
d1Num
>
d2Num
)
{
mDebug
(
"vgId:%d, adjust vnode index 1 to 2"
,
pInVg
->
vgId
);
bnSwapVnodeGid
(
&
pInVg
->
vnodeGid
[
1
],
&
pInVg
->
vnodeGid
[
2
]);
}
}
else
if
(
d1Num
<=
d2Num
&&
d1Num
<=
d0Num
)
{
mDebug
(
"vgId:%d, adjust vnode index 0 to 1"
,
pInVg
->
vgId
);
bnSwapVnodeGid
(
&
pInVg
->
vnodeGid
[
0
],
&
pInVg
->
vnodeGid
[
1
]);
if
(
d0Num
>
d2Num
)
{
mDebug
(
"vgId:%d, adjust vnode index 1 to 2"
,
pInVg
->
vgId
);
bnSwapVnodeGid
(
&
pInVg
->
vnodeGid
[
1
],
&
pInVg
->
vnodeGid
[
2
]);
}
}
else
{
mDebug
(
"vgId:%d, adjust vnode index 0 to 2"
,
pInVg
->
vgId
);
bnSwapVnodeGid
(
&
pInVg
->
vnodeGid
[
0
],
&
pInVg
->
vnodeGid
[
2
]);
if
(
d1Num
>
d0Num
)
{
mDebug
(
"vgId:%d, adjust vnode index 1 to 2"
,
pInVg
->
vgId
);
bnSwapVnodeGid
(
&
pInVg
->
vnodeGid
[
1
],
&
pInVg
->
vnodeGid
[
2
]);
}
}
}
for
(
int
i
=
0
;
i
<
pInVg
->
numOfVnodes
;
++
i
)
{
mDebug
(
"vgId:%d index:%d dnodeId:%d"
,
pInVg
->
vgId
,
i
,
pInVg
->
vnodeGid
[
i
].
dnodeId
);
}
}
static
void
bnDiscardVnode
(
SVgObj
*
pVgroup
,
SVnodeGid
*
pVnodeGid
)
{
static
void
bnDiscardVnode
(
SVgObj
*
pVgroup
,
SVnodeGid
*
pVnodeGid
)
{
mDebug
(
"vgId:%d, dnode:%d is dropping"
,
pVgroup
->
vgId
,
pVnodeGid
->
dnodeId
);
mDebug
(
"vgId:%d, dnode:%d is dropping"
,
pVgroup
->
vgId
,
pVnodeGid
->
dnodeId
);
...
@@ -88,15 +159,10 @@ static void bnDiscardVnode(SVgObj *pVgroup, SVnodeGid *pVnodeGid) {
...
@@ -88,15 +159,10 @@ static void bnDiscardVnode(SVgObj *pVgroup, SVnodeGid *pVnodeGid) {
memcpy
(
pVgroup
->
vnodeGid
,
vnodeGid
,
TSDB_MAX_REPLICA
*
sizeof
(
SVnodeGid
));
memcpy
(
pVgroup
->
vnodeGid
,
vnodeGid
,
TSDB_MAX_REPLICA
*
sizeof
(
SVnodeGid
));
pVgroup
->
numOfVnodes
=
numOfVnodes
;
pVgroup
->
numOfVnodes
=
numOfVnodes
;
bnAdjustVnodeIndex
(
pVgroup
);
mnodeUpdateVgroup
(
pVgroup
);
mnodeUpdateVgroup
(
pVgroup
);
}
}
static
void
bnSwapVnodeGid
(
SVnodeGid
*
pVnodeGid1
,
SVnodeGid
*
pVnodeGid2
)
{
SVnodeGid
tmp
=
*
pVnodeGid1
;
*
pVnodeGid1
=
*
pVnodeGid2
;
*
pVnodeGid2
=
tmp
;
}
int32_t
bnAllocVnodes
(
SVgObj
*
pVgroup
)
{
int32_t
bnAllocVnodes
(
SVgObj
*
pVgroup
)
{
int32_t
dnode
=
0
;
int32_t
dnode
=
0
;
int32_t
vnodes
=
0
;
int32_t
vnodes
=
0
;
...
@@ -147,6 +213,7 @@ int32_t bnAllocVnodes(SVgObj *pVgroup) {
...
@@ -147,6 +213,7 @@ int32_t bnAllocVnodes(SVgObj *pVgroup) {
}
}
}
}
bnAdjustVnodeIndex
(
pVgroup
);
bnReleaseDnodes
();
bnReleaseDnodes
();
bnUnLock
();
bnUnLock
();
return
TSDB_CODE_SUCCESS
;
return
TSDB_CODE_SUCCESS
;
...
@@ -233,6 +300,7 @@ static int32_t bnAddVnode(SVgObj *pVgroup, SDnodeObj *pSrcDnode, SDnodeObj *pDes
...
@@ -233,6 +300,7 @@ static int32_t bnAddVnode(SVgObj *pVgroup, SDnodeObj *pSrcDnode, SDnodeObj *pDes
vnodeGids
[
numOfVnodes
].
pDnode
=
pDestDnode
;
vnodeGids
[
numOfVnodes
].
pDnode
=
pDestDnode
;
numOfVnodes
++
;
numOfVnodes
++
;
// move the src vnode to the end
for
(
int32_t
v
=
0
;
v
<
numOfVnodes
;
++
v
)
{
for
(
int32_t
v
=
0
;
v
<
numOfVnodes
;
++
v
)
{
if
(
pSrcDnode
!=
NULL
&&
pSrcDnode
->
dnodeId
==
vnodeGids
[
v
].
dnodeId
)
{
if
(
pSrcDnode
!=
NULL
&&
pSrcDnode
->
dnodeId
==
vnodeGids
[
v
].
dnodeId
)
{
bnSwapVnodeGid
(
&
vnodeGids
[
v
],
&
vnodeGids
[
numOfVnodes
-
1
]);
bnSwapVnodeGid
(
&
vnodeGids
[
v
],
&
vnodeGids
[
numOfVnodes
-
1
]);
...
@@ -241,6 +309,11 @@ static int32_t bnAddVnode(SVgObj *pVgroup, SDnodeObj *pSrcDnode, SDnodeObj *pDes
...
@@ -241,6 +309,11 @@ static int32_t bnAddVnode(SVgObj *pVgroup, SDnodeObj *pSrcDnode, SDnodeObj *pDes
}
}
}
}
// adjust the vgroup postion
if
(
pSrcDnode
==
NULL
)
{
bnAdjustVnodeIndex
(
pVgroup
);
}
memcpy
(
&
pVgroup
->
vnodeGid
,
&
vnodeGids
,
sizeof
(
SVnodeGid
)
*
TSDB_MAX_REPLICA
);
memcpy
(
&
pVgroup
->
vnodeGid
,
&
vnodeGids
,
sizeof
(
SVnodeGid
)
*
TSDB_MAX_REPLICA
);
pVgroup
->
numOfVnodes
=
numOfVnodes
;
pVgroup
->
numOfVnodes
=
numOfVnodes
;
atomic_add_fetch_32
(
&
pDestDnode
->
openVnodes
,
1
);
atomic_add_fetch_32
(
&
pDestDnode
->
openVnodes
,
1
);
...
...
tests/script/jenkins/basic.txt
浏览文件 @
c907346e
...
@@ -286,6 +286,8 @@ cd ../../../debug; make
...
@@ -286,6 +286,8 @@ cd ../../../debug; make
./test.sh -f unique/dnode/balance3.sim
./test.sh -f unique/dnode/balance3.sim
./test.sh -f unique/dnode/balancex.sim
./test.sh -f unique/dnode/balancex.sim
./test.sh -f unique/dnode/data1.sim
./test.sh -f unique/dnode/data1.sim
./test.sh -f unique/dnode/m2.sim
./test.sh -f unique/dnode/m3.sim
./test.sh -f unique/dnode/offline1.sim
./test.sh -f unique/dnode/offline1.sim
./test.sh -f unique/dnode/offline2.sim
./test.sh -f unique/dnode/offline2.sim
./test.sh -f unique/dnode/offline3.sim
./test.sh -f unique/dnode/offline3.sim
...
...
tests/script/jenkins/unique.txt
浏览文件 @
c907346e
...
@@ -29,6 +29,8 @@ cd ../../../debug; make
...
@@ -29,6 +29,8 @@ cd ../../../debug; make
./test.sh -f unique/dnode/balance2.sim
./test.sh -f unique/dnode/balance2.sim
./test.sh -f unique/dnode/balance3.sim
./test.sh -f unique/dnode/balance3.sim
./test.sh -f unique/dnode/balancex.sim
./test.sh -f unique/dnode/balancex.sim
./test.sh -f unique/dnode/m2.sim
./test.sh -f unique/dnode/m3.sim
./test.sh -f unique/dnode/offline1.sim
./test.sh -f unique/dnode/offline1.sim
./test.sh -f unique/dnode/offline2.sim
./test.sh -f unique/dnode/offline2.sim
./test.sh -f unique/dnode/offline3.sim
./test.sh -f unique/dnode/offline3.sim
...
...
tests/script/unique/cluster/balance1.sim
浏览文件 @
c907346e
...
@@ -340,7 +340,7 @@ print dnode1 $data4_1
...
@@ -340,7 +340,7 @@ print dnode1 $data4_1
print dnode2 $data4_2
print dnode2 $data4_2
print dnode3 $data4_3
print dnode3 $data4_3
print dnode4 $data4_4
print dnode4 $data4_4
print dnode
4
$data4_5
print dnode
5
$data4_5
if $data4_5 != ready then
if $data4_5 != ready then
goto step13
goto step13
...
@@ -380,13 +380,13 @@ $dnode5Vnodes = $data2_5
...
@@ -380,13 +380,13 @@ $dnode5Vnodes = $data2_5
print dnode5 $dnode2Vnodes
print dnode5 $dnode2Vnodes
if $dnode1Vnodes != 2 then
if $dnode1Vnodes != 2 then
return -1
goto step13
endi
endi
if $dnode4Vnodes != 2 then
if $dnode4Vnodes != 2 then
return -1
goto step13
endi
endi
if $dnode5Vnodes != 2 then
if $dnode5Vnodes != 2 then
return -1
goto step13
endi
endi
print ============================== step14
print ============================== step14
...
...
tests/script/unique/dnode/m2.sim
0 → 100644
浏览文件 @
c907346e
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/deploy.sh -n dnode5 -i 5
system sh/cfg.sh -n dnode1 -c balanceInterval -v 10
system sh/cfg.sh -n dnode2 -c balanceInterval -v 10
system sh/cfg.sh -n dnode3 -c balanceInterval -v 10
system sh/cfg.sh -n dnode4 -c balanceInterval -v 10
system sh/cfg.sh -n dnode5 -c balanceInterval -v 10
system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode5 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 4
system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 4
system sh/cfg.sh -n dnode3 -c maxTablesPerVnode -v 4
system sh/cfg.sh -n dnode4 -c maxTablesPerVnode -v 4
system sh/cfg.sh -n dnode5 -c maxTablesPerVnode -v 4
print ========== step1
system sh/exec.sh -n dnode1 -s start
sql connect
sql create dnode $hostname2
sql create dnode $hostname3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
$x = 0
step1:
$x = $x + 1
sleep 1000
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 step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
print ========== step2
sql create database d1 replica 2
sql create table d1.t1 (t timestamp, i int)
sql insert into d1.t1 values(now+1s, 15)
sql insert into d1.t1 values(now+2s, 14)
sql insert into d1.t1 values(now+3s, 13)
sql insert into d1.t1 values(now+4s, 12)
sql insert into d1.t1 values(now+5s, 11)
sql create database d2 replica 2
sql create table d2.t2 (t timestamp, i int)
sql insert into d2.t2 values(now+1s, 25)
sql insert into d2.t2 values(now+2s, 24)
sql insert into d2.t2 values(now+3s, 23)
sql insert into d2.t2 values(now+4s, 22)
sql insert into d2.t2 values(now+5s, 21)
sql create database d3 replica 2
sql create table d3.t3 (t timestamp, i int)
sql insert into d3.t3 values(now+1s, 35)
sql insert into d3.t3 values(now+2s, 34)
sql insert into d3.t3 values(now+3s, 33)
sql insert into d3.t3 values(now+4s, 32)
sql insert into d3.t3 values(now+5s, 31)
sql create database d4 replica 2
sql create table d4.t4 (t timestamp, i int)
sql insert into d4.t4 values(now+1s, 45)
sql insert into d4.t4 values(now+2s, 44)
sql insert into d4.t4 values(now+3s, 43)
sql insert into d4.t4 values(now+4s, 42)
sql insert into d4.t4 values(now+5s, 41)
print ========== step2.1
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 != 4 then
return -1
endi
if $data2_3 != 4 then
return -1
endi
sql show d1.vgroups;
print d1.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
sql show d2.vgroups;
print d2.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
sql show d3.vgroups;
print d3.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
sql show d4.vgroups;
print d4.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
print ========== step3
sql create dnode $hostname4
system sh/exec.sh -n dnode4 -s start
sql create dnode $hostname5
system sh/exec.sh -n dnode5 -s start
$x = 0
show3:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show dnodes
print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3
print dnode4 openVnodes $data2_4
print dnode5 openVnodes $data2_5
if $data2_2 != 2 then
goto show3
endi
if $data2_3 != 2 then
goto show3
endi
if $data2_4 != 2 then
goto show3
endi
if $data2_5 != 2 then
goto show3
endi
sql show d1.vgroups;
print d1.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show3
endi
sql show d2.vgroups;
print d2.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show3
endi
sql show d3.vgroups;
print d3.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show3
endi
sql show d4.vgroups;
print d4.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show3
endi
print ========== step4
sql drop dnode $hostname2
$x = 0
show4:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show dnodes
print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3
print dnode4 openVnodes $data2_4
print dnode5 openVnodes $data2_5
if $data2_2 != null then
goto show4
endi
sql show d1.vgroups;
print d1.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show4
endi
sql show d2.vgroups;
print d2.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show4
endi
sql show d3.vgroups;
print d3.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show4
endi
sql show d4.vgroups;
print d4.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show4
endi
sql reset query cache
sleep 100
system sh/exec.sh -n dnode2 -s stop -x SIGINT
print ========== step5
sql drop dnode $hostname3
$x = 0
show5:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show dnodes
print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3
print dnode4 openVnodes $data2_4
print dnode5 openVnodes $data2_5
if $data2_2 != null then
goto show5
endi
if $data2_3 != null then
goto show5
endi
if $data2_4 != 4 then
goto show5
endi
if $data2_5 != 4 then
goto show4
endi
sql show d1.vgroups;
print d1.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show5
endi
sql show d2.vgroups;
print d2.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show5
endi
sql show d3.vgroups;
print d3.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show5
endi
sql show d4.vgroups;
print d4.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data03 != 2 then
goto show5
endi
sql reset query cache
sleep 100
system sh/exec.sh -n dnode3 -s stop -x SIGINT
print ========== step6
sql select * from d1.t1 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 11 then
return -1
endi
if $data11 != 12 then
return -1
endi
if $data21 != 13 then
return -1
endi
if $data31 != 14 then
return -1
endi
if $data41 != 15 then
return -1
endi
sql select * from d2.t2 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 21 then
return -1
endi
if $data11 != 22 then
return -1
endi
if $data21 != 23 then
return -1
endi
if $data31 != 24 then
return -1
endi
if $data41 != 25 then
return -1
endi
sql select * from d3.t3 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 31 then
return -1
endi
if $data11 != 32 then
return -1
endi
if $data21 != 33 then
return -1
endi
if $data31 != 34 then
return -1
endi
if $data41 != 35 then
return -1
endi
sql select * from d4.t4 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 41 then
return -1
endi
if $data11 != 42 then
return -1
endi
if $data21 != 43 then
return -1
endi
if $data31 != 44 then
return -1
endi
if $data41 != 45 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
system sh/exec.sh -n dnode5 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/dnode/m3.sim
0 → 100644
浏览文件 @
c907346e
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/deploy.sh -n dnode5 -i 5
system sh/cfg.sh -n dnode1 -c balanceInterval -v 10
system sh/cfg.sh -n dnode2 -c balanceInterval -v 10
system sh/cfg.sh -n dnode3 -c balanceInterval -v 10
system sh/cfg.sh -n dnode4 -c balanceInterval -v 10
system sh/cfg.sh -n dnode5 -c balanceInterval -v 10
system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode5 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 4
system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 4
system sh/cfg.sh -n dnode3 -c maxTablesPerVnode -v 4
system sh/cfg.sh -n dnode4 -c maxTablesPerVnode -v 4
system sh/cfg.sh -n dnode5 -c maxTablesPerVnode -v 4
print ========== step1
system sh/exec.sh -n dnode1 -s start
sql connect
sql create dnode $hostname2
sql create dnode $hostname3
sql create dnode $hostname4
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode4 -s start
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
if $data4_4 != ready then
goto step1
endi
print ========== step2
sql create database d1 replica 3
sql create table d1.t1 (t timestamp, i int)
sql insert into d1.t1 values(now+1s, 15)
sql insert into d1.t1 values(now+2s, 14)
sql insert into d1.t1 values(now+3s, 13)
sql insert into d1.t1 values(now+4s, 12)
sql insert into d1.t1 values(now+5s, 11)
sql create database d2 replica 3
sql create table d2.t2 (t timestamp, i int)
sql insert into d2.t2 values(now+1s, 25)
sql insert into d2.t2 values(now+2s, 24)
sql insert into d2.t2 values(now+3s, 23)
sql insert into d2.t2 values(now+4s, 22)
sql insert into d2.t2 values(now+5s, 21)
sql create database d3 replica 3
sql create table d3.t3 (t timestamp, i int)
sql insert into d3.t3 values(now+1s, 35)
sql insert into d3.t3 values(now+2s, 34)
sql insert into d3.t3 values(now+3s, 33)
sql insert into d3.t3 values(now+4s, 32)
sql insert into d3.t3 values(now+5s, 31)
sql create database d4 replica 3
sql create table d4.t4 (t timestamp, i int)
sql insert into d4.t4 values(now+1s, 45)
sql insert into d4.t4 values(now+2s, 44)
sql insert into d4.t4 values(now+3s, 43)
sql insert into d4.t4 values(now+4s, 42)
sql insert into d4.t4 values(now+5s, 41)
print ========== step2.1
sql show dnodes
print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3
print dnode4 openVnodes $data2_4
if $data2_1 != 0 then
return -1
endi
if $data2_2 != 4 then
return -1
endi
if $data2_3 != 4 then
return -1
endi
if $data2_4 != 4 then
return -1
endi
sql show d1.vgroups;
print d1.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 4 then
return -1
endi
sql show d2.vgroups;
print d2.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 3 then
return -1
endi
sql show d3.vgroups;
print d3.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 2 then
return -1
endi
sql show d4.vgroups;
print d4.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 4 then
return -1
endi
print ========== step3
sql create dnode $hostname5
system sh/exec.sh -n dnode5 -s start
$x = 0
show3:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show dnodes
print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3
print dnode4 openVnodes $data2_4
print dnode5 openVnodes $data2_5
if $data2_2 != 3 then
goto show3
endi
if $data2_3 != 3 then
goto show3
endi
if $data2_4 != 3 then
goto show3
endi
if $data2_5 != 3 then
goto show3
endi
sql show d1.vgroups;
print d1.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 5 then
return -1
endi
if $data03 != 3 then
goto show3
endi
sql show d2.vgroups;
print d2.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 5 then
return -1
endi
if $data03 != 3 then
goto show3
endi
sql show d3.vgroups;
print d3.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 2 then
return -1
endi
if $data03 != 3 then
goto show3
endi
sql show d4.vgroups;
print d4.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 4 then
return -1
endi
if $data03 != 3 then
goto show3
endi
print ========== step4
sql drop dnode $hostname2
$x = 0
show4:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show dnodes
print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3
print dnode4 openVnodes $data2_4
print dnode5 openVnodes $data2_5
if $data2_2 != null then
goto show4
endi
if $data2_3 != 4 then
goto show4
endi
if $data2_4 != 4 then
goto show4
endi
if $data2_5 != 4 then
goto show4
endi
sql show d1.vgroups;
print d1.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 5 then
return -1
endi
if $data03 != 3 then
goto show4
endi
sql show d2.vgroups;
print d2.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 3 then
return -1
endi
if $data03 != 3 then
goto show4
endi
sql show d3.vgroups;
print d3.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 4 then
return -1
endi
if $data03 != 3 then
goto show4
endi
sql show d4.vgroups;
print d4.vgroups $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data04 != 4 then
return -1
endi
if $data03 != 3 then
goto show4
endi
sql reset query cache
sleep 100
print ========== step5
sql select * from d1.t1 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 11 then
return -1
endi
if $data11 != 12 then
return -1
endi
if $data21 != 13 then
return -1
endi
if $data31 != 14 then
return -1
endi
if $data41 != 15 then
return -1
endi
sql select * from d2.t2 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 21 then
return -1
endi
if $data11 != 22 then
return -1
endi
if $data21 != 23 then
return -1
endi
if $data31 != 24 then
return -1
endi
if $data41 != 25 then
return -1
endi
sql select * from d3.t3 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 31 then
return -1
endi
if $data11 != 32 then
return -1
endi
if $data21 != 33 then
return -1
endi
if $data31 != 34 then
return -1
endi
if $data41 != 35 then
return -1
endi
sql select * from d4.t4 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 41 then
return -1
endi
if $data11 != 42 then
return -1
endi
if $data21 != 43 then
return -1
endi
if $data31 != 44 then
return -1
endi
if $data41 != 45 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
system sh/exec.sh -n dnode5 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/migrate/mn2_vn2_repl2_rmMnodeDir.sim
浏览文件 @
c907346e
...
@@ -194,36 +194,35 @@ print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $dat
...
@@ -194,36 +194,35 @@ print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $dat
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 $data5_4 $data6_4 $data7_4 $data8_4 $data9_4
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 $data5_4 $data6_4 $data7_4 $data8_4 $data9_4
$d2v2status = $data5_4
$d2v3status = $data5_2
$d2v4status = $data5_3
$d1v2status = $data7_4
if $data5_4 != master then
$d1v3status = $data7_2
print $data5_4
$d1v4status = $data7_3
if $d2v2status != master then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d2v3status != master then
if $data5_3 != slave then
print $data5_2
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d2v4status != master then
if $data5_2 != master then
print $data5_3
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d1v2status != slave then
if $data7_4 != slave then
print $data7_4
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d1v3status != slave then
if $data7_3 != master then
print $data7_3
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d1v4status != slave then
if $data7_2 != slave then
print $data7_2
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
...
@@ -265,3 +264,12 @@ print data00 $data00
...
@@ -265,3 +264,12 @@ print data00 $data00
if $data00 != $totalRows then
if $data00 != $totalRows then
return -1
return -1
endi
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
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/migrate/mn2_vn2_repl2_rmMnodeVnodeDir.sim
浏览文件 @
c907346e
...
@@ -196,36 +196,29 @@ print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $dat
...
@@ -196,36 +196,29 @@ print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $dat
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 $data5_4 $data6_4 $data7_4 $data8_4 $data9_4
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 $data5_4 $data6_4 $data7_4 $data8_4 $data9_4
$d2v2status = $data5_4
$d2v3status = $data5_2
$d2v4status = $data5_3
$d1v2status = $data7_4
if $data5_4 != master then
$d1v3status = $data7_2
$d1v4status = $data7_3
if $d2v2status != master then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d
2v3status != master
then
if $d
ata5_3 != slave
then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d
2v4status
!= master then
if $d
ata5_2
!= master then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d
1v2status
!= slave then
if $d
ata7_4
!= slave then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d
1v3status != slave
then
if $d
ata7_3 != master
then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d
1v4status
!= slave then
if $d
ata7_2
!= slave then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
...
@@ -267,3 +260,12 @@ print data00 $data00
...
@@ -267,3 +260,12 @@ print data00 $data00
if $data00 != $totalRows then
if $data00 != $totalRows then
return -1
return -1
endi
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
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/migrate/mn2_vn2_repl2_rmVnodeDir.sim
浏览文件 @
c907346e
...
@@ -194,36 +194,29 @@ print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $dat
...
@@ -194,36 +194,29 @@ print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $dat
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 $data5_4 $data6_4 $data7_4 $data8_4 $data9_4
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 $data5_4 $data6_4 $data7_4 $data8_4 $data9_4
$d2v2status = $data5_4
$d2v3status = $data5_2
$d2v4status = $data5_3
$d1v2status = $data7_4
if $data5_4 != master then
$d1v3status = $data7_2
$d1v4status = $data7_3
if $d2v2status != master then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d
2v3status != master
then
if $d
ata5_3 != slave
then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d
2v4status
!= master then
if $d
ata5_2
!= master then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d
1v2status
!= slave then
if $d
ata7_4
!= slave then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d
1v3status != slave
then
if $d
ata7_3 != master
then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
if $d
1v4status
!= slave then
if $d
ata7_2
!= slave then
sleep 2000
sleep 2000
goto wait_dnode1_vgroup_slave
goto wait_dnode1_vgroup_slave
endi
endi
...
@@ -265,3 +258,12 @@ print data00 $data00
...
@@ -265,3 +258,12 @@ print data00 $data00
if $data00 != $totalRows then
if $data00 != $totalRows then
return -1
return -1
endi
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
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录