Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
74a57ebb
TDengine
项目概览
taosdata
/
TDengine
12 个月 前同步成功
通知
1180
Star
22014
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
74a57ebb
编写于
7月 22, 2022
作者:
H
Hui Li
提交者:
GitHub
7月 22, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #15304 from taosdata/test/chr/TD-14699
test: modify testcases of muti-mnodes
上级
63ea8156
378f9611
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
149 addition
and
75 deletion
+149
-75
tests/system-test/6-cluster/5dnode2mnode.py
tests/system-test/6-cluster/5dnode2mnode.py
+1
-41
tests/system-test/6-cluster/5dnode3mnodeSep1VnodeStopDnodeCreateDb.py
...-test/6-cluster/5dnode3mnodeSep1VnodeStopDnodeCreateDb.py
+1
-1
tests/system-test/6-cluster/5dnode3mnodeSep1VnodeStopDnodeCreateStb.py
...test/6-cluster/5dnode3mnodeSep1VnodeStopDnodeCreateStb.py
+1
-26
tests/system-test/6-cluster/5dnode3mnodeStop2Follower.py
tests/system-test/6-cluster/5dnode3mnodeStop2Follower.py
+119
-0
tests/system-test/6-cluster/clusterCommonCheck.py
tests/system-test/6-cluster/clusterCommonCheck.py
+18
-1
tests/system-test/fulltest.sh
tests/system-test/fulltest.sh
+9
-6
未找到文件。
tests/system-test/6-cluster/5dnode2mnode.py
浏览文件 @
74a57ebb
...
...
@@ -127,52 +127,12 @@ class TDTestCase:
tdLog
.
notice
(
" The election still succeeds when leader of both mnodes are killed "
)
except
Exception
:
pass
tdSql
.
error
(
"create user user1 pass '123';"
)
#
tdSql.error("create user user1 pass '123';")
tdLog
.
info
(
"start leader"
)
tdDnodes
[
0
].
starttaosd
()
if
clusterComCheck
.
checkMnodeStatus
(
2
)
:
print
(
"both mnodes are ready"
)
# # fisrt drop follower of mnode
# BUG
# tdSql.execute("drop mnode on dnode 2")
# tdSql.query("show mnodes;")
# tdSql.checkRows(1)
# tdSql.checkData(0,1,'%s:6030'%self.host)
# tdSql.checkData(0,2,'leader')
# tdSql.checkData(0,3,'ready')
# tdSql.execute("create mnode on dnode 2")
# count=0
# while count < 10:
# time.sleep(1)
# tdSql.query("show mnodes;")
# tdSql.checkRows(2)
# if tdSql.queryResult[0][2]=='leader' :
# if tdSql.queryResult[1][2]=='follower':
# print("two mnodes is ready")
# break
# count+=1
# else:
# print("two mnodes is not ready in 10s ")
# tdSql.query("show mnodes;")
# tdSql.checkRows(2)
# tdSql.checkData(0,1,'%s:6030'%self.host)
# tdSql.checkData(0,2,'leader')
# tdSql.checkData(0,3,'ready')
# tdSql.checkData(1,1,'%s:6130'%self.host)
# tdSql.checkData(1,2,'follower')
# tdSql.checkData(2,3,'ready')
def
getConnection
(
self
,
dnode
):
host
=
dnode
.
cfgDict
[
"fqdn"
]
port
=
dnode
.
cfgDict
[
"serverPort"
]
config_dir
=
dnode
.
cfgDir
return
taos
.
connect
(
host
=
host
,
port
=
int
(
port
),
config
=
config_dir
)
def
run
(
self
):
self
.
five_dnode_two_mnode
()
...
...
tests/system-test/6-cluster/5dnode3mnodeSep1VnodeStopDnodeCreateDb.py
浏览文件 @
74a57ebb
...
...
@@ -186,7 +186,7 @@ class TDTestCase:
tdLog
.
info
(
"check dnode number:"
)
clusterComCheck
.
checkDnodes
(
dnodeNumbers
)
tdSql
.
query
(
"show databases"
)
tdLog
.
debug
(
"we find %d databases but exepect to create %d databases "
%
(
tdSql
.
queryRows
-
2
,
allDbNumbers
-
2
))
tdLog
.
debug
(
"we find %d databases but exepect to create %d databases "
%
(
tdSql
.
queryRows
-
2
,
allDbNumbers
))
# tdLog.info("check DB Rows:")
# clusterComCheck.checkDbRows(allDbNumbers)
...
...
tests/system-test/6-cluster/5dnode3mnodeSep1VnodeStopDnodeCreateStb.py
浏览文件 @
74a57ebb
...
...
@@ -65,34 +65,9 @@ class TDTestCase:
self
.
_async_raise
(
thread
.
ident
,
SystemExit
)
def
insertData
(
self
,
countstart
,
countstop
):
# fisrt add data : db\stable\childtable\general table
for
couti
in
range
(
countstart
,
countstop
):
tdLog
.
debug
(
"drop database if exists db%d"
%
couti
)
tdSql
.
execute
(
"drop database if exists db%d"
%
couti
)
print
(
"create database if not exists db%d replica 1 duration 300"
%
couti
)
tdSql
.
execute
(
"create database if not exists db%d replica 1 duration 300"
%
couti
)
tdSql
.
execute
(
"use db%d"
%
couti
)
tdSql
.
execute
(
'''create table stb1
(ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp)
tags (t1 int)
'''
)
tdSql
.
execute
(
'''
create table t1
(ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp)
'''
)
for
i
in
range
(
4
):
tdSql
.
execute
(
f
'create table ct
{
i
+
1
}
using stb1 tags (
{
i
+
1
}
)'
)
def
fiveDnodeThreeMnode
(
self
,
dnodeNumbers
,
mnodeNums
,
restartNumbers
,
stopRole
):
tdLog
.
printNoPrefix
(
"======== test case 1: "
)
paraDict
=
{
'dbName'
:
'db'
,
paraDict
=
{
'dbName'
:
'db
0_0
'
,
'dropFlag'
:
1
,
'event'
:
''
,
'vgroups'
:
4
,
...
...
tests/system-test/6-cluster/5dnode3mnodeStop2Follower.py
0 → 100644
浏览文件 @
74a57ebb
from
ssl
import
ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE
import
taos
import
sys
import
time
import
os
from
util.log
import
*
from
util.sql
import
*
from
util.cases
import
*
from
util.dnodes
import
*
from
util.dnodes
import
TDDnodes
from
util.dnodes
import
TDDnode
from
util.cluster
import
*
from
test
import
tdDnodes
sys
.
path
.
append
(
"./6-cluster"
)
from
clusterCommonCreate
import
*
from
clusterCommonCheck
import
*
import
time
import
socket
import
subprocess
from
multiprocessing
import
Process
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
f
"start to excute
{
__file__
}
"
)
tdSql
.
init
(
conn
.
cursor
())
self
.
host
=
socket
.
gethostname
()
def
getBuildPath
(
self
):
selfPath
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
))
if
(
"community"
in
selfPath
):
projPath
=
selfPath
[:
selfPath
.
find
(
"community"
)]
else
:
projPath
=
selfPath
[:
selfPath
.
find
(
"tests"
)]
for
root
,
dirs
,
files
in
os
.
walk
(
projPath
):
if
(
"taosd"
in
files
):
rootRealPath
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
root
))
if
(
"packaging"
not
in
rootRealPath
):
buildPath
=
root
[:
len
(
root
)
-
len
(
"/build/bin"
)]
break
return
buildPath
def
fiveDnodeThreeMnode
(
self
,
dnodenumbers
,
mnodeNums
,
restartNumber
):
tdLog
.
printNoPrefix
(
"======== test case 1: "
)
paraDict
=
{
'dbName'
:
'db'
,
'dropFlag'
:
1
,
'event'
:
''
,
'vgroups'
:
4
,
'replica'
:
1
,
'stbName'
:
'stb'
,
'colPrefix'
:
'c'
,
'tagPrefix'
:
't'
,
'colSchema'
:
[{
'type'
:
'INT'
,
'count'
:
1
},
{
'type'
:
'binary'
,
'len'
:
20
,
'count'
:
1
}],
'tagSchema'
:
[{
'type'
:
'INT'
,
'count'
:
1
},
{
'type'
:
'binary'
,
'len'
:
20
,
'count'
:
1
}],
'ctbPrefix'
:
'ctb'
,
'ctbNum'
:
1
,
'rowsPerTbl'
:
10000
,
'batchNum'
:
10
,
'startTs'
:
1640966400000
,
# 2022-01-01 00:00:00.000
'pollDelay'
:
10
,
'showMsg'
:
1
,
'showRow'
:
1
}
dnodenumbers
=
int
(
dnodenumbers
)
mnodeNums
=
int
(
mnodeNums
)
dbNumbers
=
int
(
dnodenumbers
*
restartNumber
)
tdLog
.
info
(
"first check dnode and mnode"
)
tdSql
.
query
(
"show dnodes;"
)
tdSql
.
checkData
(
0
,
1
,
'%s:6030'
%
self
.
host
)
tdSql
.
checkData
(
4
,
1
,
'%s:6430'
%
self
.
host
)
clusterComCheck
.
checkDnodes
(
dnodenumbers
)
clusterComCheck
.
checkMnodeStatus
(
1
)
# fisr add three mnodes;
tdLog
.
info
(
"fisr add three mnodes and check mnode status"
)
tdSql
.
execute
(
"create mnode on dnode 2"
)
clusterComCheck
.
checkMnodeStatus
(
2
)
tdSql
.
execute
(
"create mnode on dnode 3"
)
clusterComCheck
.
checkMnodeStatus
(
3
)
# add some error operations and
tdLog
.
info
(
"Confirm the status of the dnode again"
)
tdSql
.
error
(
"create mnode on dnode 2"
)
tdSql
.
query
(
"show dnodes;"
)
# print(tdSql.queryResult)
clusterComCheck
.
checkDnodes
(
dnodenumbers
)
# restart all taosd
tdDnodes
=
cluster
.
dnodes
tdDnodes
[
1
].
stoptaosd
()
tdDnodes
[
2
].
stoptaosd
()
tdLog
.
info
(
"check whether 2 mnode status is offline"
)
clusterComCheck
.
check3mnode2off
()
# tdSql.error("create user user1 pass '123';")
tdLog
.
info
(
"start two follower"
)
tdDnodes
[
1
].
starttaosd
()
tdDnodes
[
2
].
starttaosd
()
clusterComCheck
.
checkMnodeStatus
(
3
)
def
run
(
self
):
# print(self.master_dnode.cfgDict)
self
.
fiveDnodeThreeMnode
(
dnodenumbers
=
5
,
mnodeNums
=
3
,
restartNumber
=
1
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
f
"
{
__file__
}
successfully executed"
)
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tests/system-test/6-cluster/clusterCommonCheck.py
浏览文件 @
74a57ebb
...
...
@@ -205,7 +205,24 @@ class ClusterComCheck:
tdLog
.
debug
(
tdSql
.
queryResult
)
tdLog
.
exit
(
"stop mnodes on dnode %d failed in 10s "
)
def
check3mnode2off
(
self
,
mnodeNums
=
3
):
count
=
0
while
count
<
10
:
time
.
sleep
(
1
)
tdSql
.
query
(
"show mnodes;"
)
if
tdSql
.
checkRows
(
mnodeNums
)
:
tdLog
.
success
(
"cluster has %d mnodes"
%
self
.
mnodeNums
)
else
:
tdLog
.
exit
(
"mnode number is correct"
)
if
tdSql
.
queryResult
[
0
][
2
]
==
'leader'
:
if
tdSql
.
queryResult
[
1
][
2
]
==
'offline'
and
tdSql
.
queryResult
[
1
][
3
]
==
'ready'
:
if
tdSql
.
queryResult
[
2
][
2
]
==
'offline'
and
tdSql
.
queryResult
[
2
][
3
]
==
'ready'
:
tdLog
.
success
(
"stop mnodes of follower on dnode successfully in 10s"
)
return
True
count
+=
1
else
:
tdLog
.
debug
(
tdSql
.
queryResult
)
tdLog
.
exit
(
"stop mnodes on dnode %d failed in 10s "
)
...
...
tests/system-test/fulltest.sh
浏览文件 @
74a57ebb
...
...
@@ -154,21 +154,24 @@ python3 ./test.py -f 2-query/last_row.py
python3 ./test.py
-f
6-cluster/5dnode1mnode.py
python3 ./test.py
-f
6-cluster/5dnode2mnode.py
-N
5
-M
3
python3 ./test.py
-f
6-cluster/5dnode3mnodeStop.py
-N
5
-M
3
python3 ./test.py
-f
6-cluster/5dnode3mnodeStop2Follower.py
-N
5
-M
3
python3 ./test.py
-f
6-cluster/5dnode3mnodeStopLoop.py
-N
5
-M
3
# BUG
python3 ./test.py -f 6-cluster/5dnode3mnodeSep1VnodeStopDnodeCreateDb.py -N 5 -M 3
python3 ./test.py
-f
6-cluster/5dnode3mnodeSep1VnodeStopDnodeCreateDb.py
-N
5
-M
3
python3 ./test.py
-f
6-cluster/5dnode3mnodeSep1VnodeStopMnodeCreateDb.py
-N
5
-M
3
python3 ./test.py
-f
6-cluster/5dnode3mnodeSep1VnodeStopVnodeCreateDb.py
-N
5
-M
3
# python3 ./test.py -f 6-cluster/5dnode3mnodeSep1VnodeStopDnodeCreateStb.py -N 5 -M 3
# BUG
python3 ./test.py -f 6-cluster/5dnode3mnodeSep1VnodeStopMnodeCreateStb.py -N 5 -M 3
# BUG
python3 ./test.py -f 6-cluster/5dnode3mnodeSep1VnodeStopVnodeCreateStb.py -N 5 -M 3
python3 ./test.py
-f
6-cluster/5dnode3mnodeSep1VnodeStopMnodeCreateStb.py
-N
5
-M
3
python3 ./test.py
-f
6-cluster/5dnode3mnodeSep1VnodeStopVnodeCreateStb.py
-N
5
-M
3
python3 ./test.py
-f
6-cluster/5dnode3mnodeRestartDnodeInsertData.py
-N
5
-M
3
# python3 ./test.py -f 6-cluster/5dnode3mnodeRestartMnodeInsertData.py -N 5 -M 3
# python3 ./test.py -f 6-cluster/5dnode3mnodeRestartVnodeInsertData.py -N 5 -M 3
python3 ./test.py
-f
6-cluster/5dnode3mnodeAdd1Ddnoe.py
-N
6
-M
3
-C
5
# BUG python3 ./test.py -f 6-cluster/5dnode3mnodeStopInsert.py
# python3 ./test.py -f 6-cluster/5dnode3mnodeDrop.py -N 5
# python3 test.py -f 6-cluster/5dnode3mnodeStopConnect.py -N 5 -M 3
# BUG Redict python3 ./test.py -f 6-cluster/5dnode3mnodeAdd1Ddnoe.py -N 6 -M 3 -C 5
# python3 ./test.py -f 6-cluster/5dnode3mnodeRestartDnodeInsertData.py -N 5 -M 3
python3 ./test.py
-f
6-cluster/5dnode3mnodeAdd1Ddnoe.py
-N
6
-M
3
-C
5
python3 ./test.py
-f
7-tmq/basic5.py
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录