Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dgr6878
TDengine
提交
787f6387
T
TDengine
项目概览
dgr6878
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
787f6387
编写于
4月 22, 2020
作者:
S
slguan
提交者:
GitHub
4月 22, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1688 from taosdata/feature/mpeer
Feature/mpeer
上级
3d843d32
c95b1eec
变更
38
展开全部
隐藏空白更改
内联
并排
Showing
38 changed file
with
1001 addition
and
647 deletion
+1001
-647
src/dnode/src/dnodeMClient.c
src/dnode/src/dnodeMClient.c
+2
-2
src/dnode/src/dnodeMgmt.c
src/dnode/src/dnodeMgmt.c
+22
-27
src/dnode/src/dnodeMnode.c
src/dnode/src/dnodeMnode.c
+0
-1
src/inc/taosmsg.h
src/inc/taosmsg.h
+44
-20
src/inc/vnode.h
src/inc/vnode.h
+1
-0
src/mnode/inc/mgmtDef.h
src/mnode/inc/mgmtDef.h
+25
-23
src/mnode/inc/mgmtDnode.h
src/mnode/inc/mgmtDnode.h
+4
-1
src/mnode/inc/mgmtUser.h
src/mnode/inc/mgmtUser.h
+2
-1
src/mnode/inc/mgmtVgroup.h
src/mnode/inc/mgmtVgroup.h
+4
-2
src/mnode/src/mgmtBalance.c
src/mnode/src/mgmtBalance.c
+2
-3
src/mnode/src/mgmtDb.c
src/mnode/src/mgmtDb.c
+2
-2
src/mnode/src/mgmtDnode.c
src/mnode/src/mgmtDnode.c
+65
-69
src/mnode/src/mgmtMain.c
src/mnode/src/mgmtMain.c
+1
-1
src/mnode/src/mgmtMnode.c
src/mnode/src/mgmtMnode.c
+4
-4
src/mnode/src/mgmtProfile.c
src/mnode/src/mgmtProfile.c
+3
-3
src/mnode/src/mgmtShell.c
src/mnode/src/mgmtShell.c
+2
-2
src/mnode/src/mgmtTable.c
src/mnode/src/mgmtTable.c
+7
-9
src/mnode/src/mgmtUser.c
src/mnode/src/mgmtUser.c
+13
-9
src/mnode/src/mgmtVgroup.c
src/mnode/src/mgmtVgroup.c
+113
-75
src/plugins/monitor/src/monitorSystem.c
src/plugins/monitor/src/monitorSystem.c
+1
-0
src/tsdb/src/tsdbMain.c
src/tsdb/src/tsdbMain.c
+1
-1
src/util/inc/tutil.h
src/util/inc/tutil.h
+2
-0
src/util/src/tutil.c
src/util/src/tutil.c
+24
-0
src/vnode/CMakeLists.txt
src/vnode/CMakeLists.txt
+1
-0
src/vnode/src/vnodeMain.c
src/vnode/src/vnodeMain.c
+343
-81
tests/script/sh/deploy.sh
tests/script/sh/deploy.sh
+1
-1
tests/script/test.sh
tests/script/test.sh
+2
-0
tests/script/unique/dnode/balance1.sim
tests/script/unique/dnode/balance1.sim
+64
-64
tests/script/unique/dnode/balance2.sim
tests/script/unique/dnode/balance2.sim
+55
-55
tests/script/unique/dnode/balance3.sim
tests/script/unique/dnode/balance3.sim
+61
-61
tests/script/unique/dnode/balancex.sim
tests/script/unique/dnode/balancex.sim
+26
-26
tests/script/unique/dnode/basic1.sim
tests/script/unique/dnode/basic1.sim
+0
-0
tests/script/unique/dnode/monitor_bug.sim
tests/script/unique/dnode/monitor_bug.sim
+8
-8
tests/script/unique/dnode/offline1.sim
tests/script/unique/dnode/offline1.sim
+3
-3
tests/script/unique/dnode/offline2.sim
tests/script/unique/dnode/offline2.sim
+4
-4
tests/script/unique/dnode/remove1.sim
tests/script/unique/dnode/remove1.sim
+25
-25
tests/script/unique/dnode/remove2.sim
tests/script/unique/dnode/remove2.sim
+18
-18
tests/script/unique/dnode/vnode_clean.sim
tests/script/unique/dnode/vnode_clean.sim
+46
-46
未找到文件。
src/dnode/src/dnodeMClient.c
浏览文件 @
787f6387
...
...
@@ -298,7 +298,7 @@ static bool dnodeReadMnodeInfos() {
tsMnodeInfos
.
nodeInfos
[
i
].
syncPort
=
(
uint16_t
)
syncPort
->
valueint
;
cJSON
*
nodeName
=
cJSON_GetObjectItem
(
nodeInfo
,
"nodeName"
);
if
(
!
node
Ip
||
nodeName
->
type
!=
cJSON_String
||
nodeName
->
valuestring
==
NULL
)
{
if
(
!
node
Name
||
nodeName
->
type
!=
cJSON_String
||
nodeName
->
valuestring
==
NULL
)
{
dError
(
"failed to read mnode mgmtIpList.json, nodeName not found"
);
goto
PARSE_OVER
;
}
...
...
@@ -310,7 +310,7 @@ static bool dnodeReadMnodeInfos() {
dPrint
(
"read mnode iplist successed, numOfIps:%d inUse:%d"
,
tsMnodeInfos
.
nodeNum
,
tsMnodeInfos
.
inUse
);
for
(
int32_t
i
=
0
;
i
<
tsMnodeInfos
.
nodeNum
;
i
++
)
{
dPrint
(
"mnode:%d, ip:%s:%u name:%s"
,
tsMnodeInfos
.
nodeInfos
[
i
].
nodeId
,
taosIpStr
(
tsMnodeInfos
.
nodeInfos
[
i
].
nodeI
d
),
tsMnodeInfos
.
nodeInfos
[
i
].
nodePort
,
taosIpStr
(
tsMnodeInfos
.
nodeInfos
[
i
].
nodeI
p
),
tsMnodeInfos
.
nodeInfos
[
i
].
nodePort
,
tsMnodeInfos
.
nodeInfos
[
i
].
nodeName
);
}
...
...
src/dnode/src/dnodeMgmt.c
浏览文件 @
787f6387
...
...
@@ -33,7 +33,6 @@ static int32_t dnodeOpenVnodes();
static
void
dnodeCloseVnodes
();
static
int32_t
dnodeProcessCreateVnodeMsg
(
SRpcMsg
*
pMsg
);
static
int32_t
dnodeProcessDropVnodeMsg
(
SRpcMsg
*
pMsg
);
static
int32_t
dnodeProcessAlterVnodeMsg
(
SRpcMsg
*
pMsg
);
static
int32_t
dnodeProcessAlterStreamMsg
(
SRpcMsg
*
pMsg
);
static
int32_t
dnodeProcessConfigDnodeMsg
(
SRpcMsg
*
pMsg
);
static
int32_t
(
*
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MAX
])(
SRpcMsg
*
pMsg
);
...
...
@@ -41,7 +40,6 @@ static int32_t (*dnodeProcessMgmtMsgFp[TSDB_MSG_TYPE_MAX])(SRpcMsg *pMsg);
int32_t
dnodeInitMgmt
()
{
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_CREATE_VNODE
]
=
dnodeProcessCreateVnodeMsg
;
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_DROP_VNODE
]
=
dnodeProcessDropVnodeMsg
;
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_ALTER_VNODE
]
=
dnodeProcessAlterVnodeMsg
;
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_ALTER_STREAM
]
=
dnodeProcessAlterStreamMsg
;
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_CONFIG_DNODE
]
=
dnodeProcessConfigDnodeMsg
;
...
...
@@ -129,25 +127,31 @@ static void dnodeCloseVnodes() {
static
int32_t
dnodeProcessCreateVnodeMsg
(
SRpcMsg
*
rpcMsg
)
{
SMDCreateVnodeMsg
*
pCreate
=
rpcMsg
->
pCont
;
pCreate
->
cfg
.
vgId
=
htonl
(
pCreate
->
cfg
.
vgId
);
pCreate
->
cfg
.
max
Sessions
=
htonl
(
pCreate
->
cfg
.
maxSession
s
);
pCreate
->
cfg
.
cacheBlockSize
=
htonl
(
pCreate
->
cfg
.
cacheBlock
Size
);
pCreate
->
cfg
.
daysPerFile
=
htonl
(
pCreate
->
cfg
.
daysPerFile
);
pCreate
->
cfg
.
daysToKeep1
=
htonl
(
pCreate
->
cfg
.
daysToKeep1
);
pCreate
->
cfg
.
days
ToKeep2
=
htonl
(
pCreate
->
cfg
.
daysToKeep2
);
pCreate
->
cfg
.
daysToKeep
=
htonl
(
pCreate
->
cfg
.
daysToKeep
);
pCreate
->
cfg
.
commitTime
=
htonl
(
pCreate
->
cfg
.
commitTime
);
pCreate
->
cfg
.
rowsInFileBlock
=
htonl
(
pCreate
->
cfg
.
rowsInFileBlock
);
pCreate
->
cfg
.
blocksPerTable
=
htons
(
pCreate
->
cfg
.
blocksPerTabl
e
);
pCreate
->
cfg
.
cacheNumOfBlocks
.
totalBlocks
=
htonl
(
pCreate
->
cfg
.
cacheNumOfBlocks
.
totalBlocks
);
pCreate
->
cfg
.
vgId
=
htonl
(
pCreate
->
cfg
.
vgId
);
pCreate
->
cfg
.
max
Tables
=
htonl
(
pCreate
->
cfg
.
maxTable
s
);
pCreate
->
cfg
.
maxCacheSize
=
htobe64
(
pCreate
->
cfg
.
maxCache
Size
);
pCreate
->
cfg
.
minRowsPerFileBlock
=
htonl
(
pCreate
->
cfg
.
minRowsPerFileBlock
);
pCreate
->
cfg
.
maxRowsPerFileBlock
=
htonl
(
pCreate
->
cfg
.
maxRowsPerFileBlock
);
pCreate
->
cfg
.
days
PerFile
=
htonl
(
pCreate
->
cfg
.
daysPerFile
);
pCreate
->
cfg
.
daysToKeep
1
=
htonl
(
pCreate
->
cfg
.
daysToKeep1
);
pCreate
->
cfg
.
daysToKeep2
=
htonl
(
pCreate
->
cfg
.
daysToKeep2
);
pCreate
->
cfg
.
daysToKeep
=
htonl
(
pCreate
->
cfg
.
daysToKeep
);
pCreate
->
cfg
.
commitTime
=
htonl
(
pCreate
->
cfg
.
commitTim
e
);
pCreate
->
cfg
.
arbitratorIp
=
htonl
(
pCreate
->
cfg
.
arbitratorIp
);
for
(
int32_t
j
=
0
;
j
<
pCreate
->
cfg
.
replications
;
++
j
)
{
pCreate
->
vpeerDesc
[
j
].
vgId
=
htonl
(
pCreate
->
vpeerDesc
[
j
].
vgId
);
pCreate
->
vpeerDesc
[
j
].
dnodeId
=
htonl
(
pCreate
->
vpeerDesc
[
j
].
dnodeId
);
pCreate
->
vpeerDesc
[
j
].
ip
=
htonl
(
pCreate
->
vpeerDesc
[
j
].
ip
);
pCreate
->
nodes
[
j
].
nodeId
=
htonl
(
pCreate
->
nodes
[
j
].
nodeId
);
pCreate
->
nodes
[
j
].
nodeIp
=
htonl
(
pCreate
->
nodes
[
j
].
nodeIp
);
}
return
vnodeCreate
(
pCreate
);
void
*
pVnode
=
vnodeAccquireVnode
(
pCreate
->
cfg
.
vgId
);
if
(
pVnode
!=
NULL
)
{
int32_t
code
=
vnodeAlter
(
pVnode
,
pCreate
);
vnodeRelease
(
pVnode
);
return
code
;
}
else
{
return
vnodeCreate
(
pCreate
);
}
}
static
int32_t
dnodeProcessDropVnodeMsg
(
SRpcMsg
*
rpcMsg
)
{
...
...
@@ -157,15 +161,6 @@ static int32_t dnodeProcessDropVnodeMsg(SRpcMsg *rpcMsg) {
return
vnodeDrop
(
pDrop
->
vgId
);
}
static
int32_t
dnodeProcessAlterVnodeMsg
(
SRpcMsg
*
rpcMsg
)
{
SMDCreateVnodeMsg
*
pCreate
=
rpcMsg
->
pCont
;
pCreate
->
cfg
.
vgId
=
htonl
(
pCreate
->
cfg
.
vgId
);
pCreate
->
cfg
.
maxSessions
=
htonl
(
pCreate
->
cfg
.
maxSessions
);
pCreate
->
cfg
.
daysPerFile
=
htonl
(
pCreate
->
cfg
.
daysPerFile
);
return
0
;
}
static
int32_t
dnodeProcessAlterStreamMsg
(
SRpcMsg
*
pMsg
)
{
// SMDAlterStreamMsg *pStream = pCont;
// pStream->uid = htobe64(pStream->uid);
...
...
src/dnode/src/dnodeMnode.c
浏览文件 @
787f6387
...
...
@@ -33,7 +33,6 @@ int32_t dnodeInitMnode() {
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_DROP_STABLE
]
=
dnodeWrite
;
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_CREATE_VNODE
]
=
dnodeMgmt
;
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_DROP_VNODE
]
=
dnodeMgmt
;
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_ALTER_VNODE
]
=
dnodeMgmt
;
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_ALTER_STREAM
]
=
dnodeMgmt
;
dnodeProcessMgmtMsgFp
[
TSDB_MSG_TYPE_MD_CONFIG_DNODE
]
=
dnodeMgmt
;
...
...
src/inc/taosmsg.h
浏览文件 @
787f6387
...
...
@@ -48,14 +48,12 @@ extern "C" {
#define TSDB_MSG_TYPE_MD_CREATE_VNODE_RSP 16
#define TSDB_MSG_TYPE_MD_DROP_VNODE 17
#define TSDB_MSG_TYPE_MD_DROP_VNODE_RSP 18
#define TSDB_MSG_TYPE_MD_ALTER_VNODE 19
#define TSDB_MSG_TYPE_MD_ALTER_VNODE_RSP 20
#define TSDB_MSG_TYPE_MD_DROP_STABLE 21
#define TSDB_MSG_TYPE_MD_DROP_STABLE_RSP 22
#define TSDB_MSG_TYPE_MD_ALTER_STREAM 23
#define TSDB_MSG_TYPE_MD_ALTER_STREAM_RSP 24
#define TSDB_MSG_TYPE_MD_CONFIG_DNODE 25
#define TSDB_MSG_TYPE_MD_CONFIG_DNODE_RSP 26
#define TSDB_MSG_TYPE_MD_DROP_STABLE 19
#define TSDB_MSG_TYPE_MD_DROP_STABLE_RSP 20
#define TSDB_MSG_TYPE_MD_ALTER_STREAM 21
#define TSDB_MSG_TYPE_MD_ALTER_STREAM_RSP 22
#define TSDB_MSG_TYPE_MD_CONFIG_DNODE 23
#define TSDB_MSG_TYPE_MD_CONFIG_DNODE_RSP 24
// message from client to mnode
#define TSDB_MSG_TYPE_CM_CONNECT 31
...
...
@@ -245,12 +243,6 @@ typedef struct SSchema {
int16_t
bytes
;
}
SSchema
;
typedef
struct
{
int32_t
vgId
;
int32_t
dnodeId
;
uint32_t
ip
;
}
SVnodeDesc
;
typedef
struct
{
int32_t
contLen
;
int32_t
vgId
;
...
...
@@ -518,12 +510,10 @@ typedef struct {
uint8_t
status
;
uint8_t
role
;
uint8_t
accessState
;
uint8_t
replica
;
uint8_t
reserved
[
5
];
}
SVnodeLoad
;
/*
* NOTE: sizeof(SVnodeCfg) < TSDB_FILE_HEADER_LEN / 4
*/
typedef
struct
{
char
acct
[
TSDB_USER_LEN
+
1
];
char
db
[
TSDB_DB_NAME_LEN
+
1
];
...
...
@@ -548,7 +538,7 @@ typedef struct {
int8_t
loadLatest
;
// load into mem or not
uint8_t
precision
;
// time resolution
int8_t
reserved
[
16
];
}
S
VnodeCfg
,
S
DbCfg
,
SCMCreateDbMsg
,
SCMAlterDbMsg
;
}
SDbCfg
,
SCMCreateDbMsg
,
SCMAlterDbMsg
;
typedef
struct
{
char
db
[
TSDB_TABLE_ID_LEN
+
1
];
...
...
@@ -614,8 +604,35 @@ typedef struct {
}
SDMStatusRsp
;
typedef
struct
{
SVnodeCfg
cfg
;
SVnodeDesc
vpeerDesc
[
TSDB_MAX_MPEERS
];
uint32_t
vgId
;
int32_t
maxTables
;
int64_t
maxCacheSize
;
int32_t
minRowsPerFileBlock
;
int32_t
maxRowsPerFileBlock
;
int32_t
daysPerFile
;
int32_t
daysToKeep
;
int32_t
daysToKeep1
;
int32_t
daysToKeep2
;
int32_t
commitTime
;
uint8_t
precision
;
// time resolution
int8_t
compression
;
int8_t
wals
;
int8_t
commitLog
;
int8_t
replications
;
int8_t
quorum
;
uint32_t
arbitratorIp
;
int8_t
reserved
[
16
];
}
SMDVnodeCfg
;
typedef
struct
{
int32_t
nodeId
;
uint32_t
nodeIp
;
char
nodeName
[
TSDB_NODE_NAME_LEN
+
1
];
}
SMDVnodeDesc
;
typedef
struct
{
SMDVnodeCfg
cfg
;
SMDVnodeDesc
nodes
[
TSDB_MAX_MPEERS
];
}
SMDCreateVnodeMsg
;
typedef
struct
{
...
...
@@ -673,9 +690,16 @@ typedef struct {
int32_t
metaElem
[
TSDB_MAX_JOIN_TABLE_NUM
];
}
SSuperTableMetaMsg
;
typedef
struct
{
int32_t
nodeId
;
uint32_t
nodeIp
;
uint16_t
nodePort
;
}
SVnodeDesc
;
typedef
struct
{
SVnodeDesc
vpeerDesc
[
TSDB_REPLICA_MAX_NUM
];
int16_t
index
;
// used locally
int32_t
vgId
;
int32_t
numOfSids
;
int32_t
pSidExtInfoList
[];
// offset value of STableIdInfo
}
SVnodeSidList
;
...
...
src/inc/vnode.h
浏览文件 @
787f6387
...
...
@@ -38,6 +38,7 @@ typedef struct {
int32_t
vnodeCreate
(
SMDCreateVnodeMsg
*
pVnodeCfg
);
int32_t
vnodeDrop
(
int32_t
vgId
);
int32_t
vnodeOpen
(
int32_t
vgId
,
char
*
rootDir
);
int32_t
vnodeAlter
(
void
*
pVnode
,
SMDCreateVnodeMsg
*
pVnodeCfg
);
int32_t
vnodeClose
(
int32_t
vgId
);
void
vnodeRelease
(
void
*
pVnode
);
...
...
src/mnode/inc/mgmtDef.h
浏览文件 @
787f6387
...
...
@@ -51,7 +51,6 @@ typedef struct SDnodeObj {
int8_t
reserved
[
15
];
int8_t
updateEnd
[
1
];
int32_t
refCount
;
SVnodeLoad
vload
[
TSDB_MAX_VNODES
];
uint32_t
moduleStatus
;
uint32_t
lastReboot
;
// time stamp for last reboot
float
score
;
// calc in balance function
...
...
@@ -72,13 +71,6 @@ typedef struct SMnodeObj {
SDnodeObj
*
pDnode
;
}
SMnodeObj
;
typedef
struct
{
int32_t
dnodeId
;
uint32_t
privateIp
;
uint32_t
publicIp
;
}
SVnodeGid
;
typedef
struct
{
char
tableId
[
TSDB_TABLE_ID_LEN
+
1
];
int8_t
type
;
...
...
@@ -120,24 +112,34 @@ typedef struct {
SSuperTableObj
*
superTable
;
}
SChildTableObj
;
typedef
struct
{
int32_t
dnodeId
;
int8_t
role
;
int8_t
reserved
[
3
];
SDnodeObj
*
pDnode
;
}
SVnodeGid
;
typedef
struct
SVgObj
{
uint32_t
vgId
;
char
dbName
[
TSDB_DB_NAME_LEN
+
1
];
int64_t
createdTime
;
SVnodeGid
vnodeGid
[
TSDB_VNODES_SUPPORT
];
int32_t
numOfVnodes
;
int32_t
lbDnodeId
;
int32_t
lbTime
;
int8_t
status
;
int8_t
inUse
;
int8_t
reserved
[
13
];
int8_t
updateEnd
[
1
];
int32_t
refCount
;
uint32_t
vgId
;
char
dbName
[
TSDB_DB_NAME_LEN
+
1
];
int64_t
createdTime
;
SVnodeGid
vnodeGid
[
TSDB_VNODES_SUPPORT
];
int32_t
numOfVnodes
;
int32_t
lbDnodeId
;
int32_t
lbTime
;
int8_t
status
;
int8_t
inUse
;
int8_t
reserved
[
13
];
int8_t
updateEnd
[
1
];
int32_t
refCount
;
struct
SVgObj
*
prev
,
*
next
;
struct
SDbObj
*
pDb
;
int32_t
numOfTables
;
void
*
idPool
;
SChildTableObj
**
tableList
;
int32_t
numOfTables
;
int64_t
totalStorage
;
int64_t
compStorage
;
int64_t
pointsWritten
;
void
*
idPool
;
SChildTableObj
**
tableList
;
}
SVgObj
;
typedef
struct
SDbObj
{
...
...
src/mnode/inc/mgmtDnode.h
浏览文件 @
787f6387
...
...
@@ -35,12 +35,15 @@ void mgmtMonitorDnodeModule();
int32_t
mgmtGetDnodesNum
();
void
*
mgmtGetNextDnode
(
void
*
pNode
,
SDnodeObj
**
pDnode
);
void
mgmtReleaseDnode
(
SDnodeObj
*
pDnode
);
void
mgmtIncDnodeRef
(
SDnodeObj
*
pDnode
);
void
mgmtDecDnodeRef
(
SDnodeObj
*
pDnode
);
void
*
mgmtGetDnode
(
int32_t
dnodeId
);
void
*
mgmtGetDnodeByIp
(
uint32_t
ip
);
void
mgmtUpdateDnode
(
SDnodeObj
*
pDnode
);
int32_t
mgmtDropDnode
(
SDnodeObj
*
pDnode
);
extern
int32_t
tsAccessSquence
;
#ifdef __cplusplus
}
#endif
...
...
src/mnode/inc/mgmtUser.h
浏览文件 @
787f6387
...
...
@@ -24,7 +24,8 @@ extern "C" {
int32_t
mgmtInitUsers
();
void
mgmtCleanUpUsers
();
SUserObj
*
mgmtGetUser
(
char
*
name
);
void
mgmtReleaseUser
(
SUserObj
*
pUser
);
void
mgmtIncUserRef
(
SUserObj
*
pUser
);
void
mgmtDecUserRef
(
SUserObj
*
pUser
);
SUserObj
*
mgmtGetUserFromConn
(
void
*
pConn
,
bool
*
usePublicIp
);
int32_t
mgmtCreateUser
(
SAcctObj
*
pAcct
,
char
*
name
,
char
*
pass
);
void
mgmtDropAllUsers
(
SAcctObj
*
pAcct
);
...
...
src/mnode/inc/mgmtVgroup.h
浏览文件 @
787f6387
...
...
@@ -30,12 +30,13 @@ enum _TSDB_VG_STATUS {
int32_t
mgmtInitVgroups
();
void
mgmtCleanUpVgroups
();
SVgObj
*
mgmtGetVgroup
(
int32_t
vgId
);
void
mgmtReleaseVgroup
(
SVgObj
*
pVgroup
);
void
mgmtIncVgroupRef
(
SVgObj
*
pVgroup
);
void
mgmtDecVgroupRef
(
SVgObj
*
pVgroup
);
void
mgmtDropAllVgroups
(
SDbObj
*
pDropDb
);
void
*
mgmtGetNextVgroup
(
void
*
pNode
,
SVgObj
**
pVgroup
);
void
mgmtUpdateVgroup
(
SVgObj
*
pVgroup
);
void
mgmtUpdateVgroupStatus
(
SVgObj
*
pVgroup
,
int32_t
dnodeId
,
SVnodeLoad
*
pVload
);
void
mgmtUpdateVgroupStatus
(
SVgObj
*
pVgroup
,
SDnodeObj
*
dnodeId
,
SVnodeLoad
*
pVload
);
void
mgmtCreateVgroup
(
SQueuedMsg
*
pMsg
,
SDbObj
*
pDb
);
void
mgmtDropVgroup
(
SVgObj
*
pVgroup
,
void
*
ahandle
);
...
...
@@ -46,6 +47,7 @@ void mgmtAddTableIntoVgroup(SVgObj *pVgroup, SChildTableObj *pTable);
void
mgmtRemoveTableFromVgroup
(
SVgObj
*
pVgroup
,
SChildTableObj
*
pTable
);
void
mgmtSendCreateVnodeMsg
(
SVgObj
*
pVgroup
,
SRpcIpSet
*
ipSet
,
void
*
ahandle
);
void
mgmtSendDropVnodeMsg
(
int32_t
vgId
,
SRpcIpSet
*
ipSet
,
void
*
ahandle
);
void
mgmtSendCreateVgroupMsg
(
SVgObj
*
pVgroup
,
void
*
ahandle
);
SRpcIpSet
mgmtGetIpSetFromVgroup
(
SVgObj
*
pVgroup
);
SRpcIpSet
mgmtGetIpSetFromIp
(
uint32_t
ip
);
...
...
src/mnode/src/mgmtBalance.c
浏览文件 @
787f6387
...
...
@@ -47,7 +47,7 @@ int32_t balanceAllocVnodes(SVgObj *pVgroup) {
vnodeUsage
=
usage
;
}
}
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
}
if
(
pSelDnode
==
NULL
)
{
...
...
@@ -56,8 +56,7 @@ int32_t balanceAllocVnodes(SVgObj *pVgroup) {
}
pVgroup
->
vnodeGid
[
0
].
dnodeId
=
pSelDnode
->
dnodeId
;
pVgroup
->
vnodeGid
[
0
].
privateIp
=
pSelDnode
->
privateIp
;
pVgroup
->
vnodeGid
[
0
].
publicIp
=
pSelDnode
->
publicIp
;
pVgroup
->
vnodeGid
[
0
].
pDnode
=
pSelDnode
;
mTrace
(
"dnode:%d, alloc one vnode to vgroup, openVnodes:%d"
,
pSelDnode
->
dnodeId
,
pSelDnode
->
openVnodes
);
return
TSDB_CODE_SUCCESS
;
...
...
src/mnode/src/mgmtDb.c
浏览文件 @
787f6387
...
...
@@ -527,7 +527,7 @@ static int32_t mgmtGetDbMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pConn)
pShow
->
rowSize
=
pShow
->
offset
[
cols
-
1
]
+
pShow
->
bytes
[
cols
-
1
];
pShow
->
numOfRows
=
pUser
->
pAcct
->
acctInfo
.
numOfDbs
;
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
0
;
}
...
...
@@ -647,7 +647,7 @@ static int32_t mgmtRetrieveDbs(SShowObj *pShow, char *data, int32_t rows, void *
}
pShow
->
numOfReads
+=
numOfRows
;
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
numOfRows
;
}
...
...
src/mnode/src/mgmtDnode.c
浏览文件 @
787f6387
...
...
@@ -23,6 +23,7 @@
#include "tutil.h"
#include "tsocket.h"
#include "tbalance.h"
#include "tsync.h"
#include "dnode.h"
#include "mgmtDef.h"
#include "mgmtLog.h"
...
...
@@ -37,6 +38,8 @@
void
*
tsDnodeSdb
=
NULL
;
int32_t
tsDnodeUpdateSize
=
0
;
int32_t
tsAccessSquence
=
0
;
extern
void
*
tsMnodeSdb
;
extern
void
*
tsVgroupSdb
;
static
int32_t
mgmtCreateDnode
(
uint32_t
ip
);
...
...
@@ -99,7 +102,13 @@ static int32_t mgmtDnodeActionDelete(SSdbOper *pOper) {
}
}
mgmtDropMnode
(
pDnode
->
dnodeId
);
SMnodeObj
*
pMnode
=
mgmtGetMnode
(
pDnode
->
dnodeId
);
if
(
pMnode
!=
NULL
)
{
SSdbOper
oper
=
{.
type
=
SDB_OPER_LOCAL
,
.
table
=
tsMnodeSdb
,
.
pObj
=
pMnode
};
sdbDeleteRow
(
&
oper
);
mgmtReleaseMnode
(
pMnode
);
}
balanceNotify
();
mTrace
(
"dnode:%d, all vgroups:%d is dropped from sdb"
,
pDnode
->
dnodeId
,
numOfVgroups
);
...
...
@@ -139,7 +148,7 @@ static int32_t mgmtDnodeActionRestored() {
mgmtCreateDnode
(
ip
);
SDnodeObj
*
pDnode
=
mgmtGetDnodeByIp
(
ip
);
mgmtAddMnode
(
pDnode
->
dnodeId
);
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
}
return
TSDB_CODE_SUCCESS
;
...
...
@@ -215,13 +224,17 @@ void *mgmtGetDnodeByIp(uint32_t ip) {
if
(
ip
==
pDnode
->
privateIp
)
{
return
pDnode
;
}
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
}
return
NULL
;
}
void
mgmtReleaseDnode
(
SDnodeObj
*
pDnode
)
{
void
mgmtIncDnodeRef
(
SDnodeObj
*
pDnode
)
{
sdbIncRef
(
tsDnodeSdb
,
pDnode
);
}
void
mgmtDecDnodeRef
(
SDnodeObj
*
pDnode
)
{
sdbDecRef
(
tsDnodeSdb
,
pDnode
);
}
...
...
@@ -318,27 +331,27 @@ void mgmtProcessDnodeStatusMsg(SRpcMsg *rpcMsg) {
pDnode
->
alternativeRole
=
pStatus
->
alternativeRole
;
pDnode
->
totalVnodes
=
pStatus
->
numOfTotalVnodes
;
pDnode
->
moduleStatus
=
pStatus
->
moduleStatus
;
pDnode
->
lastAccess
=
tsAccessSquence
;
if
(
pStatus
->
dnodeId
==
0
)
{
mTrace
(
"dnode:%d, first access, privateIp:%s, name:%s"
,
pDnode
->
dnodeId
,
taosIpStr
(
pDnode
->
privateIp
),
pDnode
->
dnodeName
);
}
else
{
mTrace
(
"dnode:%d, status received, access times %d"
,
pDnode
->
dnodeId
,
pDnode
->
lastAccess
);
}
int32_t
openVnodes
=
htons
(
pStatus
->
openVnodes
);
for
(
int32_t
j
=
0
;
j
<
openVnodes
;
++
j
)
{
SVnodeLoad
*
pVload
=
&
pStatus
->
load
[
j
];
pDnode
->
vload
[
j
].
vgId
=
htonl
(
pVload
->
vgId
);
pDnode
->
vload
[
j
].
totalStorage
=
htobe64
(
pVload
->
totalStorage
);
pDnode
->
vload
[
j
].
compStorage
=
htobe64
(
pVload
->
compStorage
);
pDnode
->
vload
[
j
].
pointsWritten
=
htobe64
(
pVload
->
pointsWritten
);
SVgObj
*
pVgroup
=
mgmtGetVgroup
(
pDnode
->
vload
[
j
].
vgId
);
pVload
->
vgId
=
htonl
(
pVload
->
vgId
);
SVgObj
*
pVgroup
=
mgmtGetVgroup
(
pVload
->
vgId
);
if
(
pVgroup
==
NULL
)
{
SRpcIpSet
ipSet
=
mgmtGetIpSetFromIp
(
pDnode
->
privateIp
);
mPrint
(
"dnode:%d, vgroup:%d not exist in mnode, drop it"
,
pDnode
->
dnodeId
,
p
Dnode
->
vload
[
j
].
vgId
);
mgmtSendDropVnodeMsg
(
p
Dnode
->
vload
[
j
].
vgId
,
&
ipSet
,
NULL
);
mPrint
(
"dnode:%d, vgroup:%d not exist in mnode, drop it"
,
pDnode
->
dnodeId
,
p
Vload
->
vgId
);
mgmtSendDropVnodeMsg
(
p
Vload
->
vgId
,
&
ipSet
,
NULL
);
}
else
{
mgmtUpdateVgroupStatus
(
pVgroup
,
pDnode
->
dnodeId
,
pVload
);
mgmt
ReleaseVgroup
(
pVgroup
);
mgmtUpdateVgroupStatus
(
pVgroup
,
pDnode
,
pVload
);
mgmt
DecVgroupRef
(
pVgroup
);
}
}
...
...
@@ -348,7 +361,7 @@ void mgmtProcessDnodeStatusMsg(SRpcMsg *rpcMsg) {
balanceNotify
();
}
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
int32_t
contLen
=
sizeof
(
SDMStatusRsp
)
+
TSDB_MAX_VNODES
*
sizeof
(
SDMVgroupAccess
);
SDMStatusRsp
*
pRsp
=
rpcMallocCont
(
contLen
);
...
...
@@ -444,7 +457,7 @@ static int32_t mgmtDropDnodeByIp(uint32_t ip) {
return
TSDB_CODE_NO_REMOVE_MASTER
;
}
#ifndef _
VPEER
#ifndef _
SYNC
return
mgmtDropDnode
(
pDnode
);
#else
return
balanceDropDnode
(
pDnode
);
...
...
@@ -554,7 +567,7 @@ static int32_t mgmtGetDnodeMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pCo
pShow
->
rowSize
=
pShow
->
offset
[
cols
-
1
]
+
pShow
->
bytes
[
cols
-
1
];
pShow
->
pNode
=
NULL
;
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
0
;
}
...
...
@@ -604,7 +617,7 @@ static int32_t mgmtRetrieveDnodes(SShowObj *pShow, char *data, int32_t rows, voi
numOfRows
++
;
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
}
pShow
->
numOfReads
+=
numOfRows
;
...
...
@@ -661,7 +674,7 @@ static int32_t mgmtGetModuleMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pC
pShow
->
numOfRows
=
mgmtGetDnodesNum
()
*
TSDB_MOD_MAX
;
pShow
->
rowSize
=
pShow
->
offset
[
cols
-
1
]
+
pShow
->
bytes
[
cols
-
1
];
pShow
->
pNode
=
NULL
;
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
0
;
}
...
...
@@ -712,7 +725,7 @@ int32_t mgmtRetrieveModules(SShowObj *pShow, char *data, int32_t rows, void *pCo
numOfRows
++
;
}
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
}
pShow
->
numOfReads
+=
numOfRows
;
...
...
@@ -762,7 +775,7 @@ static int32_t mgmtGetConfigMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pC
pShow
->
rowSize
=
pShow
->
offset
[
cols
-
1
]
+
pShow
->
bytes
[
cols
-
1
];
pShow
->
pNode
=
NULL
;
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
0
;
}
...
...
@@ -840,35 +853,18 @@ static int32_t mgmtGetVnodeMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pCo
if
(
pShow
->
payloadLen
>
0
)
{
uint32_t
ip
=
ip2uint
(
pShow
->
payload
);
pDnode
=
mgmtGetDnodeByIp
(
ip
);
if
(
NULL
==
pDnode
)
{
return
TSDB_CODE_NODE_OFFLINE
;
}
SVnodeLoad
*
pVnode
;
pShow
->
numOfRows
=
0
;
for
(
int32_t
i
=
0
;
i
<
TSDB_MAX_VNODES
;
i
++
)
{
pVnode
=
&
pDnode
->
vload
[
i
];
if
(
0
!=
pVnode
->
vgId
)
{
pShow
->
numOfRows
++
;
}
}
pShow
->
pNode
=
pDnode
;
}
else
{
while
(
true
)
{
pShow
->
pNode
=
mgmtGetNextDnode
(
pShow
->
pNode
,
(
SDnodeObj
**
)
&
pDnode
);
if
(
pDnode
==
NULL
)
break
;
pShow
->
numOfRows
+=
pDnode
->
openVnodes
;
if
(
0
==
pShow
->
numOfRows
)
return
TSDB_CODE_NODE_OFFLINE
;
}
mgmtGetNextDnode
(
NULL
,
(
SDnodeObj
**
)
&
pDnode
);
}
pShow
->
pNode
=
NULL
;
}
if
(
pDnode
!=
NULL
)
{
pShow
->
numOfRows
+=
pDnode
->
openVnodes
;
mgmtDecDnodeRef
(
pDnode
);
}
pShow
->
rowSize
=
pShow
->
offset
[
cols
-
1
]
+
pShow
->
bytes
[
cols
-
1
];
mgmtReleaseDnode
(
pDnode
)
;
mgmt
ReleaseUser
(
pUser
);
pShow
->
pNode
=
pDnode
;
mgmt
DecUserRef
(
pUser
);
return
0
;
}
...
...
@@ -881,35 +877,35 @@ static int32_t mgmtRetrieveVnodes(SShowObj *pShow, char *data, int32_t rows, voi
if
(
0
==
rows
)
return
0
;
if
(
pShow
->
payloadLen
)
{
// output the vnodes info of the designated dnode. And output all vnodes of this dnode, instead of rows (max 100)
pDnode
=
(
SDnodeObj
*
)(
pShow
->
pNode
);
if
(
pDnode
!=
NULL
)
{
SVnodeLoad
*
pVnode
;
for
(
int32_t
i
=
0
;
i
<
TSDB_MAX_VNODES
;
i
++
)
{
pVnode
=
&
pDnode
->
vload
[
i
];
if
(
0
==
pVnode
->
vgId
)
{
continue
;
pDnode
=
(
SDnodeObj
*
)(
pShow
->
pNode
);
if
(
pDnode
!=
NULL
)
{
void
*
pNode
=
NULL
;
SVgObj
*
pVgroup
;
while
(
1
)
{
pNode
=
mgmtGetNextVgroup
(
pNode
,
&
pVgroup
);
if
(
pVgroup
==
NULL
)
break
;
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
SVnodeGid
*
pVgid
=
&
pVgroup
->
vnodeGid
[
i
];
if
(
pVgid
->
pDnode
==
pDnode
)
{
cols
=
0
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
*
(
uint32_t
*
)
pWrite
=
pVgroup
->
vgId
;
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
strcpy
(
pWrite
,
mgmtGetMnodeRoleStr
(
pVgid
->
role
));
cols
++
;
}
cols
=
0
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
*
(
uint32_t
*
)
pWrite
=
pVnode
->
vgId
;
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
strcpy
(
pWrite
,
pVnode
->
status
?
"ready"
:
"offline"
);
cols
++
;
numOfRows
++
;
}
mgmtDecVgroupRef
(
pVgroup
);
}
}
else
{
// TODO: output all vnodes of all dnodes
numOfRows
=
0
;
}
pShow
->
numOfReads
+=
numOfRows
;
return
numOfRows
;
}
...
...
src/mnode/src/mgmtMain.c
浏览文件 @
787f6387
...
...
@@ -149,12 +149,12 @@ void mgmtCleanUpSystem() {
mgmtCleanUpShell
();
mgmtCleanupDClient
();
mgmtCleanupDServer
();
mgmtCleanUpAccts
();
mgmtCleanUpTables
();
mgmtCleanUpVgroups
();
mgmtCleanUpDbs
();
mgmtCleanupDnodes
();
mgmtCleanUpUsers
();
mgmtCleanUpAccts
();
sdbCleanUp
();
taosTmrCleanUp
(
tsMgmtTmr
);
tsMgmtIsRunning
=
false
;
...
...
src/mnode/src/mgmtMnode.c
浏览文件 @
787f6387
...
...
@@ -30,7 +30,7 @@
#include "mgmtShell.h"
#include "mgmtUser.h"
static
void
*
tsMnodeSdb
=
NULL
;
void
*
tsMnodeSdb
=
NULL
;
static
int32_t
tsMnodeUpdateSize
=
0
;
static
int32_t
mgmtGetMnodeMeta
(
STableMetaMsg
*
pMeta
,
SShowObj
*
pShow
,
void
*
pConn
);
static
int32_t
mgmtRetrieveMnodes
(
SShowObj
*
pShow
,
char
*
data
,
int32_t
rows
,
void
*
pConn
);
...
...
@@ -47,7 +47,7 @@ static int32_t mgmtMnodeActionInsert(SSdbOper *pOper) {
pMnode
->
pDnode
=
pDnode
;
pDnode
->
isMgmt
=
true
;
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -58,7 +58,7 @@ static int32_t mgmtMnodeActionDelete(SSdbOper *pOper) {
SDnodeObj
*
pDnode
=
mgmtGetDnode
(
pMnode
->
mnodeId
);
if
(
pDnode
==
NULL
)
return
TSDB_CODE_DNODE_NOT_EXIST
;
pDnode
->
isMgmt
=
false
;
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
mTrace
(
"mnode:%d, is dropped from sdb"
,
pMnode
->
mnodeId
);
return
TSDB_CODE_SUCCESS
;
...
...
@@ -314,7 +314,7 @@ static int32_t mgmtGetMnodeMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pCo
pShow
->
numOfRows
=
mgmtGetMnodesNum
();
pShow
->
rowSize
=
pShow
->
offset
[
cols
-
1
]
+
pShow
->
bytes
[
cols
-
1
];
pShow
->
pNode
=
NULL
;
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
0
;
}
...
...
src/mnode/src/mgmtProfile.c
浏览文件 @
787f6387
...
...
@@ -790,12 +790,12 @@ void *mgmtMallocQueuedMsg(SRpcMsg *rpcMsg) {
void
mgmtFreeQueuedMsg
(
SQueuedMsg
*
pMsg
)
{
if
(
pMsg
!=
NULL
)
{
rpcFreeCont
(
pMsg
->
pCont
);
if
(
pMsg
->
pUser
)
mgmt
ReleaseUser
(
pMsg
->
pUser
);
if
(
pMsg
->
pUser
)
mgmt
DecUserRef
(
pMsg
->
pUser
);
if
(
pMsg
->
pDb
)
mgmtDecDbRef
(
pMsg
->
pDb
);
if
(
pMsg
->
pVgroup
)
mgmt
ReleaseVgroup
(
pMsg
->
pVgroup
);
if
(
pMsg
->
pVgroup
)
mgmt
DecVgroupRef
(
pMsg
->
pVgroup
);
if
(
pMsg
->
pTable
)
mgmtDecTableRef
(
pMsg
->
pTable
);
if
(
pMsg
->
pAcct
)
mgmtDecAcctRef
(
pMsg
->
pAcct
);
if
(
pMsg
->
pDnode
)
mgmt
ReleaseDnode
(
pMsg
->
pDnode
);
if
(
pMsg
->
pDnode
)
mgmt
DecDnodeRef
(
pMsg
->
pDnode
);
free
(
pMsg
);
}
}
...
...
src/mnode/src/mgmtShell.c
浏览文件 @
787f6387
...
...
@@ -371,11 +371,11 @@ static int mgmtShellRetriveAuth(char *user, char *spi, char *encrypt, char *secr
SUserObj
*
pUser
=
mgmtGetUser
(
user
);
if
(
pUser
==
NULL
)
{
*
secret
=
0
;
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
TSDB_CODE_INVALID_USER
;
}
else
{
memcpy
(
secret
,
pUser
->
pass
,
TSDB_KEY_LEN
);
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
TSDB_CODE_SUCCESS
;
}
}
...
...
src/mnode/src/mgmtTable.c
浏览文件 @
787f6387
...
...
@@ -97,7 +97,7 @@ static int32_t mgmtChildTableActionInsert(SSdbOper *pOper) {
mError
(
"ctable:%s, not in vgroup:%d"
,
pTable
->
info
.
tableId
,
pTable
->
vgId
);
return
TSDB_CODE_INVALID_VGROUP_ID
;
}
mgmt
ReleaseVgroup
(
pVgroup
);
mgmt
DecVgroupRef
(
pVgroup
);
SDbObj
*
pDb
=
mgmtGetDb
(
pVgroup
->
dbName
);
if
(
pDb
==
NULL
)
{
...
...
@@ -139,7 +139,7 @@ static int32_t mgmtChildTableActionDelete(SSdbOper *pOper) {
if
(
pVgroup
==
NULL
)
{
return
TSDB_CODE_INVALID_VGROUP_ID
;
}
mgmt
ReleaseVgroup
(
pVgroup
);
mgmt
DecVgroupRef
(
pVgroup
);
SDbObj
*
pDb
=
mgmtGetDb
(
pVgroup
->
dbName
);
if
(
pDb
==
NULL
)
{
...
...
@@ -275,7 +275,7 @@ static int32_t mgmtChildTableActionRestored() {
pNode
=
pLastNode
;
continue
;
}
mgmt
ReleaseVgroup
(
pVgroup
);
mgmt
DecVgroupRef
(
pVgroup
);
if
(
strcmp
(
pVgroup
->
dbName
,
pDb
->
name
)
!=
0
)
{
mError
(
"ctable:%s, db:%s not match with vgroup:%d db:%s sid:%d, discard it"
,
...
...
@@ -1194,17 +1194,15 @@ static void mgmtProcessSuperTableVgroupMsg(SQueuedMsg *pMsg) {
pRsp
->
vgroups
[
vg
].
vgId
=
htonl
(
vgId
);
for
(
int32_t
vn
=
0
;
vn
<
pVgroup
->
numOfVnodes
;
++
vn
)
{
SDnodeObj
*
pDnode
=
mgmtGetDnode
(
pVgroup
->
vnodeGid
[
vn
].
dnodeId
)
;
SDnodeObj
*
pDnode
=
pVgroup
->
vnodeGid
[
vn
].
pDnode
;
if
(
pDnode
==
NULL
)
break
;
pRsp
->
vgroups
[
vg
].
ipAddr
[
vn
].
ip
=
htonl
(
pDnode
->
privateIp
);
pRsp
->
vgroups
[
vg
].
ipAddr
[
vn
].
port
=
htons
(
tsDnodeShellPort
);
pRsp
->
vgroups
[
vg
].
numOfIps
++
;
mgmtReleaseDnode
(
pDnode
);
}
mgmt
ReleaseVgroup
(
pVgroup
);
mgmt
DecVgroupRef
(
pVgroup
);
}
pRsp
->
numOfVgroups
=
htonl
(
vg
);
...
...
@@ -1613,7 +1611,7 @@ static int32_t mgmtDoGetChildTableMeta(SQueuedMsg *pMsg, STableMetaMsg *pMeta) {
pMeta
->
vgroup
.
ipAddr
[
i
].
port
=
htonl
(
tsDnodeShellPort
);
}
pMeta
->
vgroup
.
numOfIps
++
;
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
}
pMeta
->
vgroup
.
vgId
=
htonl
(
pVgroup
->
vgId
);
...
...
@@ -1742,7 +1740,7 @@ static SChildTableObj* mgmtGetTableByPos(uint32_t dnodeId, int32_t vnode, int32_
SChildTableObj
*
pTable
=
pVgroup
->
tableList
[
sid
];
mgmtIncTableRef
((
STableObj
*
)
pTable
);
mgmt
ReleaseVgroup
(
pVgroup
);
mgmt
DecVgroupRef
(
pVgroup
);
return
pTable
;
}
...
...
src/mnode/src/mgmtUser.c
浏览文件 @
787f6387
...
...
@@ -150,7 +150,11 @@ SUserObj *mgmtGetUser(char *name) {
return
(
SUserObj
*
)
sdbGetRow
(
tsUserSdb
,
name
);
}
void
mgmtReleaseUser
(
SUserObj
*
pUser
)
{
void
mgmtIncUserRef
(
SUserObj
*
pUser
)
{
return
sdbIncRef
(
tsUserSdb
,
pUser
);
}
void
mgmtDecUserRef
(
SUserObj
*
pUser
)
{
return
sdbDecRef
(
tsUserSdb
,
pUser
);
}
...
...
@@ -183,7 +187,7 @@ int32_t mgmtCreateUser(SAcctObj *pAcct, char *name, char *pass) {
SUserObj
*
pUser
=
mgmtGetUser
(
name
);
if
(
pUser
!=
NULL
)
{
mTrace
(
"user:%s is already there"
,
name
);
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
TSDB_CODE_USER_ALREADY_EXIST
;
}
...
...
@@ -273,7 +277,7 @@ static int32_t mgmtGetUserMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pCon
pShow
->
numOfRows
=
pUser
->
pAcct
->
acctInfo
.
numOfUsers
;
pShow
->
rowSize
=
pShow
->
offset
[
cols
-
1
]
+
pShow
->
bytes
[
cols
-
1
];
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
0
;
}
...
...
@@ -308,7 +312,7 @@ static int32_t mgmtRetrieveUsers(SShowObj *pShow, char *data, int32_t rows, void
cols
++
;
numOfRows
++
;
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
}
pShow
->
numOfReads
+=
numOfRows
;
return
numOfRows
;
...
...
@@ -356,7 +360,7 @@ static void mgmtProcessAlterUserMsg(SQueuedMsg *pMsg) {
if
(
strcmp
(
pUser
->
user
,
"monitor"
)
==
0
||
(
strcmp
(
pUser
->
user
+
1
,
pUser
->
acct
)
==
0
&&
pUser
->
user
[
0
]
==
'_'
))
{
mgmtSendSimpleResp
(
pMsg
->
thandle
,
TSDB_CODE_NO_RIGHTS
);
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
;
}
...
...
@@ -432,7 +436,7 @@ static void mgmtProcessAlterUserMsg(SQueuedMsg *pMsg) {
mgmtSendSimpleResp
(
pMsg
->
thandle
,
TSDB_CODE_NO_RIGHTS
);
}
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
}
static
void
mgmtProcessDropUserMsg
(
SQueuedMsg
*
pMsg
)
{
...
...
@@ -449,7 +453,7 @@ static void mgmtProcessDropUserMsg(SQueuedMsg *pMsg) {
if
(
strcmp
(
pUser
->
user
,
"monitor"
)
==
0
||
strcmp
(
pUser
->
user
,
pUser
->
acct
)
==
0
||
(
strcmp
(
pUser
->
user
+
1
,
pUser
->
acct
)
==
0
&&
pUser
->
user
[
0
]
==
'_'
))
{
mgmtSendSimpleResp
(
pMsg
->
thandle
,
TSDB_CODE_NO_RIGHTS
);
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
return
;
}
...
...
@@ -478,7 +482,7 @@ static void mgmtProcessDropUserMsg(SQueuedMsg *pMsg) {
}
mgmtSendSimpleResp
(
pMsg
->
thandle
,
code
);
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
}
void
mgmtDropAllUsers
(
SAcctObj
*
pAcct
)
{
...
...
@@ -504,7 +508,7 @@ void mgmtDropAllUsers(SAcctObj *pAcct) {
numOfUsers
++
;
}
mgmt
ReleaseUser
(
pUser
);
mgmt
DecUserRef
(
pUser
);
}
mTrace
(
"acct:%s, all users:%d is dropped from sdb"
,
pAcct
->
user
,
numOfUsers
);
...
...
src/mnode/src/mgmtVgroup.c
浏览文件 @
787f6387
...
...
@@ -44,9 +44,7 @@ static int32_t mgmtRetrieveVgroups(SShowObj *pShow, char *data, int32_t rows, vo
static
void
mgmtProcessCreateVnodeRsp
(
SRpcMsg
*
rpcMsg
);
static
void
mgmtProcessDropVnodeRsp
(
SRpcMsg
*
rpcMsg
);
static
void
mgmtProcessVnodeCfgMsg
(
SRpcMsg
*
rpcMsg
)
;
static
void
mgmtSendDropVgroupMsg
(
SVgObj
*
pVgroup
,
void
*
ahandle
);
static
void
mgmtSendCreateVgroupMsg
(
SVgObj
*
pVgroup
,
void
*
ahandle
);
static
void
mgmtSendDropVgroupMsg
(
SVgObj
*
pVgroup
,
void
*
ahandle
);
static
int32_t
mgmtVgroupActionDestroy
(
SSdbOper
*
pOper
)
{
SVgObj
*
pVgroup
=
pOper
->
pObj
;
...
...
@@ -68,7 +66,6 @@ static int32_t mgmtVgroupActionInsert(SSdbOper *pOper) {
if
(
pDb
==
NULL
)
{
return
TSDB_CODE_INVALID_DB
;
}
mgmtDecDbRef
(
pDb
);
pVgroup
->
pDb
=
pDb
;
pVgroup
->
prev
=
NULL
;
...
...
@@ -91,15 +88,13 @@ static int32_t mgmtVgroupActionInsert(SSdbOper *pOper) {
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
SDnodeObj
*
pDnode
=
mgmtGetDnode
(
pVgroup
->
vnodeGid
[
i
].
dnodeId
);
if
(
pDnode
!=
NULL
)
{
pVgroup
->
vnodeGid
[
i
].
privateIp
=
pDnode
->
privateIp
;
pVgroup
->
vnodeGid
[
i
].
publicIp
=
pDnode
->
publicIp
;
atomic_add_fetch_32
(
&
pDnode
->
openVnodes
,
1
);
mgmtReleaseDnode
(
pDnode
);
}
pVgroup
->
vnodeGid
[
i
].
pDnode
=
pDnode
;
atomic_add_fetch_32
(
&
pDnode
->
openVnodes
,
1
);
mgmtDecDnodeRef
(
pDnode
);
}
}
mgmtAddVgroupIntoDb
(
pVgroup
);
mgmtIncDbRef
(
pVgroup
->
pDb
);
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -115,10 +110,10 @@ static int32_t mgmtVgroupActionDelete(SSdbOper *pOper) {
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
SDnodeObj
*
pDnode
=
mgmtGetDnode
(
pVgroup
->
vnodeGid
[
i
].
dnodeId
);
if
(
pDnode
)
{
if
(
pDnode
!=
NULL
)
{
atomic_sub_fetch_32
(
&
pDnode
->
openVnodes
,
1
);
}
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
}
return
TSDB_CODE_SUCCESS
;
...
...
@@ -127,9 +122,25 @@ static int32_t mgmtVgroupActionDelete(SSdbOper *pOper) {
static
int32_t
mgmtVgroupActionUpdate
(
SSdbOper
*
pOper
)
{
SVgObj
*
pNew
=
pOper
->
pObj
;
SVgObj
*
pVgroup
=
mgmtGetVgroup
(
pNew
->
vgId
);
if
(
pVgroup
!=
pNew
)
{
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
SDnodeObj
*
pDnode
=
pVgroup
->
vnodeGid
[
i
].
pDnode
;
if
(
pDnode
!=
NULL
)
{
atomic_sub_fetch_32
(
&
pDnode
->
openVnodes
,
1
);
}
}
memcpy
(
pVgroup
,
pNew
,
pOper
->
rowSize
);
free
(
pNew
);
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
SDnodeObj
*
pDnode
=
mgmtGetDnode
(
pVgroup
->
vnodeGid
[
i
].
dnodeId
);
pVgroup
->
vnodeGid
[
i
].
pDnode
=
pDnode
;
if
(
pDnode
!=
NULL
)
{
atomic_add_fetch_32
(
&
pDnode
->
openVnodes
,
1
);
}
}
}
int32_t
oldTables
=
taosIdPoolMaxSize
(
pVgroup
->
idPool
);
...
...
@@ -150,6 +161,12 @@ static int32_t mgmtVgroupActionUpdate(SSdbOper *pOper) {
static
int32_t
mgmtVgroupActionEncode
(
SSdbOper
*
pOper
)
{
SVgObj
*
pVgroup
=
pOper
->
pObj
;
memcpy
(
pOper
->
rowData
,
pVgroup
,
tsVgUpdateSize
);
SVgObj
*
pTmpVgroup
=
pOper
->
rowData
;
for
(
int32_t
i
=
0
;
i
<
TSDB_VNODES_SUPPORT
;
++
i
)
{
pTmpVgroup
->
vnodeGid
[
i
].
pDnode
=
NULL
;
pTmpVgroup
->
vnodeGid
[
i
].
role
=
0
;
}
pOper
->
rowSize
=
tsVgUpdateSize
;
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -204,7 +221,11 @@ int32_t mgmtInitVgroups() {
return
0
;
}
void
mgmtReleaseVgroup
(
SVgObj
*
pVgroup
)
{
void
mgmtIncVgroupRef
(
SVgObj
*
pVgroup
)
{
return
sdbIncRef
(
tsVgroupSdb
,
pVgroup
);
}
void
mgmtDecVgroupRef
(
SVgObj
*
pVgroup
)
{
return
sdbDecRef
(
tsVgroupSdb
,
pVgroup
);
}
...
...
@@ -224,16 +245,38 @@ void mgmtUpdateVgroup(SVgObj *pVgroup) {
mgmtSendCreateVgroupMsg
(
pVgroup
,
NULL
);
}
void
mgmtUpdateVgroupStatus
(
SVgObj
*
pVgroup
,
int32_t
dnodeId
,
SVnodeLoad
*
pVload
)
{
if
(
pVload
->
role
==
TAOS_SYNC_ROLE_MASTER
)
{
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
SVnodeGid
*
pVgid
=
&
pVgroup
->
vnodeGid
[
i
];
if
(
pVgid
->
dnodeId
==
dnodeId
)
{
void
mgmtUpdateVgroupStatus
(
SVgObj
*
pVgroup
,
SDnodeObj
*
pDnode
,
SVnodeLoad
*
pVload
)
{
bool
dnodeExist
=
false
;
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
SVnodeGid
*
pVgid
=
&
pVgroup
->
vnodeGid
[
i
];
if
(
pVgid
->
pDnode
==
pDnode
)
{
pVgid
->
role
=
pVload
->
role
;
if
(
pVload
->
role
==
TAOS_SYNC_ROLE_MASTER
)
{
pVgroup
->
inUse
=
i
;
break
;
}
dnodeExist
=
true
;
break
;
}
}
if
(
!
dnodeExist
)
{
SRpcIpSet
ipSet
=
mgmtGetIpSetFromIp
(
pDnode
->
privateIp
);
mError
(
"vgroup:%d, dnode:%d not exist in mnode, drop it"
,
pVload
->
vgId
,
pDnode
->
dnodeId
);
mgmtSendDropVnodeMsg
(
pVload
->
vgId
,
&
ipSet
,
NULL
);
return
;
}
if
(
pVload
->
role
==
TAOS_SYNC_ROLE_MASTER
)
{
pVgroup
->
totalStorage
=
htobe64
(
pVload
->
totalStorage
);
pVgroup
->
compStorage
=
htobe64
(
pVload
->
compStorage
);
pVgroup
->
pointsWritten
=
htobe64
(
pVload
->
pointsWritten
);
}
if
(
pVload
->
replica
!=
pVgroup
->
numOfVnodes
)
{
mError
(
"dnode:%d, vgroup:%d replica:%d not match with mgmt:%d"
,
pDnode
->
dnodeId
,
pVload
->
vgId
,
pVload
->
replica
,
pVgroup
->
numOfVnodes
);
mgmtSendCreateVgroupMsg
(
pVgroup
,
NULL
);
}
}
SVgObj
*
mgmtGetAvailableVgroup
(
SDbObj
*
pDb
)
{
...
...
@@ -340,7 +383,7 @@ int32_t mgmtGetVgroupMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pConn) {
mgmtDecTableRef
(
pTable
);
pVgroup
=
mgmtGetVgroup
(((
SChildTableObj
*
)
pTable
)
->
vgId
);
if
(
NULL
==
pVgroup
)
return
TSDB_CODE_INVALID_TABLE_ID
;
mgmt
ReleaseVgroup
(
pVgroup
);
mgmt
DecVgroupRef
(
pVgroup
);
maxReplica
=
pVgroup
->
numOfVnodes
>
maxReplica
?
pVgroup
->
numOfVnodes
:
maxReplica
;
}
else
{
SVgObj
*
pVgroup
=
pDb
->
pHead
;
...
...
@@ -391,27 +434,6 @@ int32_t mgmtGetVgroupMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pConn) {
return
0
;
}
char
*
mgmtGetVnodeStatus
(
SVgObj
*
pVgroup
,
SVnodeGid
*
pVnode
)
{
SDnodeObj
*
pDnode
=
mgmtGetDnode
(
pVnode
->
dnodeId
);
if
(
pDnode
==
NULL
)
{
mError
(
"vgroup:%d, not exist in dnode:%d"
,
pVgroup
->
vgId
,
pDnode
->
dnodeId
);
return
"null"
;
}
mgmtReleaseDnode
(
pDnode
);
if
(
pDnode
->
status
==
TAOS_DN_STATUS_OFFLINE
)
{
return
"offline"
;
}
for
(
int
i
=
0
;
i
<
pDnode
->
openVnodes
;
++
i
)
{
if
(
pDnode
->
vload
[
i
].
vgId
==
pVgroup
->
vgId
)
{
return
pDnode
->
vload
[
i
].
status
?
"ready"
:
"offline"
;
}
}
return
"null"
;
}
int32_t
mgmtRetrieveVgroups
(
SShowObj
*
pShow
,
char
*
data
,
int32_t
rows
,
void
*
pConn
)
{
int32_t
numOfRows
=
0
;
SVgObj
*
pVgroup
=
NULL
;
...
...
@@ -453,19 +475,24 @@ int32_t mgmtRetrieveVgroups(SShowObj *pShow, char *data, int32_t rows, void *pCo
*
(
int16_t
*
)
pWrite
=
pVgroup
->
vnodeGid
[
i
].
dnodeId
;
cols
++
;
tinet_ntoa
(
ipstr
,
pVgroup
->
vnodeGid
[
i
].
privateIp
);
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
strcpy
(
pWrite
,
ipstr
);
cols
++
;
SDnodeObj
*
pDnode
=
pVgroup
->
vnodeGid
[
i
].
pDnode
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
if
(
pVgroup
->
vnodeGid
[
i
].
dnodeId
!=
0
)
{
char
*
vnodeStatus
=
mgmtGetVnodeStatus
(
pVgroup
,
pVgroup
->
vnodeGid
+
i
);
strcpy
(
pWrite
,
vnodeStatus
);
if
(
pDnode
!=
NULL
)
{
tinet_ntoa
(
ipstr
,
pDnode
->
privateIp
);
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
strcpy
(
pWrite
,
ipstr
);
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
strcpy
(
pWrite
,
mgmtGetMnodeRoleStr
(
pVgroup
->
vnodeGid
[
i
].
role
));
cols
++
;
}
else
{
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
strcpy
(
pWrite
,
"null"
);
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
strcpy
(
pWrite
,
"null"
);
cols
++
;
}
cols
++
;
}
numOfRows
++
;
...
...
@@ -506,27 +533,38 @@ SMDCreateVnodeMsg *mgmtBuildCreateVnodeMsg(SVgObj *pVgroup) {
SMDCreateVnodeMsg
*
pVnode
=
rpcMallocCont
(
sizeof
(
SMDCreateVnodeMsg
));
if
(
pVnode
==
NULL
)
return
NULL
;
pVnode
->
cfg
=
pDb
->
cfg
;
SVnodeCfg
*
pCfg
=
&
pVnode
->
cfg
;
pCfg
->
vgId
=
htonl
(
pVgroup
->
vgId
);
pCfg
->
maxSessions
=
htonl
(
pCfg
->
maxSessions
);
pCfg
->
cacheBlockSize
=
htonl
(
pCfg
->
cacheBlockSize
);
pCfg
->
cacheNumOfBlocks
.
totalBlocks
=
htonl
(
pCfg
->
cacheNumOfBlocks
.
totalBlocks
);
pCfg
->
daysPerFile
=
htonl
(
pCfg
->
daysPerFile
);
pCfg
->
daysToKeep1
=
htonl
(
pCfg
->
daysToKeep1
);
pCfg
->
daysToKeep2
=
htonl
(
pCfg
->
daysToKeep2
);
pCfg
->
daysToKeep
=
htonl
(
pCfg
->
daysToKeep
);
pCfg
->
commitTime
=
htonl
(
pCfg
->
commitTime
);
pCfg
->
rowsInFileBlock
=
htonl
(
pCfg
->
rowsInFileBlock
);
pCfg
->
blocksPerTable
=
htons
(
pCfg
->
blocksPerTable
);
pCfg
->
replications
=
(
int8_t
)
pVgroup
->
numOfVnodes
;
SMDVnodeCfg
*
pCfg
=
&
pVnode
->
cfg
;
pCfg
->
vgId
=
htonl
(
pVgroup
->
vgId
);
pCfg
->
maxTables
=
htonl
(
pDb
->
cfg
.
maxSessions
);
pCfg
->
maxCacheSize
=
htobe64
((
int64_t
)
pDb
->
cfg
.
cacheBlockSize
*
pDb
->
cfg
.
cacheNumOfBlocks
.
totalBlocks
);
pCfg
->
maxCacheSize
=
htobe64
(
-
1
);
pCfg
->
minRowsPerFileBlock
=
htonl
(
-
1
);
pCfg
->
maxRowsPerFileBlock
=
htonl
(
-
1
);
pCfg
->
daysPerFile
=
htonl
(
pDb
->
cfg
.
daysPerFile
);
pCfg
->
daysToKeep1
=
htonl
(
pDb
->
cfg
.
daysToKeep1
);
pCfg
->
daysToKeep2
=
htonl
(
pDb
->
cfg
.
daysToKeep2
);
pCfg
->
daysToKeep
=
htonl
(
pDb
->
cfg
.
daysToKeep
);
pCfg
->
daysToKeep
=
htonl
(
-
1
);
pCfg
->
commitTime
=
htonl
(
pDb
->
cfg
.
commitTime
);
pCfg
->
precision
=
pDb
->
cfg
.
precision
;
pCfg
->
compression
=
pDb
->
cfg
.
compression
;
pCfg
->
compression
=
-
1
;
pCfg
->
wals
=
3
;
pCfg
->
commitLog
=
pDb
->
cfg
.
commitLog
;
pCfg
->
replications
=
(
int8_t
)
pVgroup
->
numOfVnodes
;
pCfg
->
quorum
=
1
;
S
VnodeDesc
*
vpeerDesc
=
pVnode
->
vpeerDesc
;
S
MDVnodeDesc
*
pNodes
=
pVnode
->
nodes
;
for
(
int32_t
j
=
0
;
j
<
pVgroup
->
numOfVnodes
;
++
j
)
{
vpeerDesc
[
j
].
vgId
=
htonl
(
pVgroup
->
vgId
);
vpeerDesc
[
j
].
dnodeId
=
htonl
(
pVgroup
->
vnodeGid
[
j
].
dnodeId
);
vpeerDesc
[
j
].
ip
=
htonl
(
pVgroup
->
vnodeGid
[
j
].
privateIp
);
SDnodeObj
*
pDnode
=
pVgroup
->
vnodeGid
[
j
].
pDnode
;
if
(
pDnode
!=
NULL
)
{
pNodes
[
j
].
nodeId
=
htonl
(
pDnode
->
dnodeId
);
pNodes
[
j
].
nodeIp
=
htonl
(
pDnode
->
privateIp
);
strcpy
(
pNodes
[
j
].
nodeName
,
pDnode
->
dnodeName
);
if
(
j
==
0
)
{
pCfg
->
arbitratorIp
=
htonl
(
pDnode
->
privateIp
);
}
}
}
return
pVnode
;
...
...
@@ -539,7 +577,7 @@ SRpcIpSet mgmtGetIpSetFromVgroup(SVgObj *pVgroup) {
.
port
=
tsDnodeMnodePort
};
for
(
int
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
ipSet
.
ip
[
i
]
=
pVgroup
->
vnodeGid
[
i
].
privateIp
;
ipSet
.
ip
[
i
]
=
pVgroup
->
vnodeGid
[
i
].
p
Dnode
->
p
rivateIp
;
}
return
ipSet
;
}
...
...
@@ -570,7 +608,7 @@ void mgmtSendCreateVnodeMsg(SVgObj *pVgroup, SRpcIpSet *ipSet, void *ahandle) {
void
mgmtSendCreateVgroupMsg
(
SVgObj
*
pVgroup
,
void
*
ahandle
)
{
mTrace
(
"vgroup:%d, send create all vnodes msg, ahandle:%p"
,
pVgroup
->
vgId
,
ahandle
);
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
SRpcIpSet
ipSet
=
mgmtGetIpSetFromIp
(
pVgroup
->
vnodeGid
[
i
].
privateIp
);
SRpcIpSet
ipSet
=
mgmtGetIpSetFromIp
(
pVgroup
->
vnodeGid
[
i
].
p
Dnode
->
p
rivateIp
);
mgmtSendCreateVnodeMsg
(
pVgroup
,
&
ipSet
,
ahandle
);
}
}
...
...
@@ -636,7 +674,7 @@ void mgmtSendDropVnodeMsg(int32_t vgId, SRpcIpSet *ipSet, void *ahandle) {
static
void
mgmtSendDropVgroupMsg
(
SVgObj
*
pVgroup
,
void
*
ahandle
)
{
mTrace
(
"vgroup:%d, send drop all vnodes msg, ahandle:%p"
,
pVgroup
->
vgId
,
ahandle
);
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
SRpcIpSet
ipSet
=
mgmtGetIpSetFromIp
(
pVgroup
->
vnodeGid
[
i
].
privateIp
);
SRpcIpSet
ipSet
=
mgmtGetIpSetFromIp
(
pVgroup
->
vnodeGid
[
i
].
p
Dnode
->
p
rivateIp
);
mgmtSendDropVnodeMsg
(
pVgroup
->
vgId
,
&
ipSet
,
ahandle
);
}
}
...
...
@@ -687,7 +725,7 @@ static void mgmtProcessVnodeCfgMsg(SRpcMsg *rpcMsg) {
mgmtSendSimpleResp
(
rpcMsg
->
handle
,
TSDB_CODE_NOT_ACTIVE_VNODE
);
return
;
}
mgmt
ReleaseDnode
(
pDnode
);
mgmt
DecDnodeRef
(
pDnode
);
SVgObj
*
pVgroup
=
mgmtGetVgroup
(
pCfg
->
vgId
);
if
(
pVgroup
==
NULL
)
{
...
...
@@ -695,7 +733,7 @@ static void mgmtProcessVnodeCfgMsg(SRpcMsg *rpcMsg) {
mgmtSendSimpleResp
(
rpcMsg
->
handle
,
TSDB_CODE_NOT_ACTIVE_VNODE
);
return
;
}
mgmt
ReleaseVgroup
(
pVgroup
);
mgmt
DecVgroupRef
(
pVgroup
);
mgmtSendSimpleResp
(
rpcMsg
->
handle
,
TSDB_CODE_SUCCESS
);
...
...
@@ -711,7 +749,7 @@ void mgmtDropAllVgroups(SDbObj *pDropDb) {
SVgObj
*
pVgroup
=
NULL
;
while
(
1
)
{
mgmt
ReleaseVgroup
(
pVgroup
);
mgmt
DecVgroupRef
(
pVgroup
);
pNode
=
sdbFetchRow
(
tsVgroupSdb
,
pNode
,
(
void
**
)
&
pVgroup
);
if
(
pVgroup
==
NULL
)
break
;
...
...
src/plugins/monitor/src/monitorSystem.c
浏览文件 @
787f6387
...
...
@@ -397,6 +397,7 @@ void monitorSaveAcctLog(char *acctId, int64_t currentPointsPerSecond, int64_t ma
int64_t
totalOutbound
,
int64_t
maxOutbound
,
int64_t
totalDbs
,
int64_t
maxDbs
,
int64_t
totalUsers
,
int64_t
maxUsers
,
int64_t
totalStreams
,
int64_t
maxStreams
,
int64_t
totalConns
,
int64_t
maxConns
,
int8_t
accessState
)
{
if
(
monitor
==
NULL
)
return
;
if
(
monitor
->
state
!=
MONITOR_STATE_INITIALIZED
)
return
;
char
sql
[
1024
]
=
{
0
};
...
...
src/tsdb/src/tsdbMain.c
浏览文件 @
787f6387
...
...
@@ -11,7 +11,7 @@
#define IS_VALID_COMPRESSION(compression) (((compression) >= NO_COMPRESSION) && ((compression) <= TWO_STAGE_COMP))
#define TSDB_MIN_ID 0
#define TSDB_MAX_ID INT_MAX
#define TSDB_MIN_TABLES
10
#define TSDB_MIN_TABLES
4
#define TSDB_MAX_TABLES 100000
#define TSDB_DEFAULT_TABLES 1000
#define TSDB_DEFAULT_DAYS_PER_FILE 10
...
...
src/util/inc/tutil.h
浏览文件 @
787f6387
...
...
@@ -170,6 +170,8 @@ char *taosIpStr(uint32_t ipInt);
uint32_t
ip2uint
(
const
char
*
const
ip_addr
);
void
taosRemoveDir
(
char
*
rootDir
);
#define TAOS_ALLOC_MODE_DEFAULT 0
#define TAOS_ALLOC_MODE_RANDOM_FAIL 1
#define TAOS_ALLOC_MODE_DETECT_LEAK 2
...
...
src/util/src/tutil.c
浏览文件 @
787f6387
...
...
@@ -662,4 +662,28 @@ void tzfree(void *ptr) {
if
(
ptr
)
{
free
((
void
*
)((
char
*
)
ptr
-
sizeof
(
size_t
)));
}
}
void
taosRemoveDir
(
char
*
rootDir
)
{
DIR
*
dir
=
opendir
(
rootDir
);
if
(
dir
==
NULL
)
return
;
struct
dirent
*
de
=
NULL
;
while
((
de
=
readdir
(
dir
))
!=
NULL
)
{
if
(
strcmp
(
de
->
d_name
,
"."
)
==
0
||
strcmp
(
de
->
d_name
,
".."
)
==
0
)
continue
;
char
filename
[
1024
];
snprintf
(
filename
,
1023
,
"%s/%s"
,
rootDir
,
de
->
d_name
);
if
(
de
->
d_type
&
DT_DIR
)
{
taosRemoveDir
(
filename
);
}
else
{
remove
(
filename
);
uPrint
(
"file:%s is removed"
,
filename
);
}
}
closedir
(
dir
);
rmdir
(
rootDir
);
uPrint
(
"dir:%s is removed"
,
rootDir
);
}
\ No newline at end of file
src/vnode/CMakeLists.txt
浏览文件 @
787f6387
...
...
@@ -9,6 +9,7 @@ IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/tsdb/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/common/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/dnode/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/cJson/inc
)
INCLUDE_DIRECTORIES
(
${
TD_ENTERPRISE_DIR
}
/src/inc
)
INCLUDE_DIRECTORIES
(
inc
)
AUX_SOURCE_DIRECTORY
(
src SRC
)
...
...
src/vnode/src/vnodeMain.c
浏览文件 @
787f6387
此差异已折叠。
点击以展开。
tests/script/sh/deploy.sh
浏览文件 @
787f6387
...
...
@@ -105,7 +105,7 @@ echo "numOfThreadsPerCore 2.0" >> $TAOS_CFG
echo
"defaultPass taosdata"
>>
$TAOS_CFG
echo
"numOfLogLines 100000000"
>>
$TAOS_CFG
echo
"mgmtEqualVnodeNum 0"
>>
$TAOS_CFG
echo
"clog
0
"
>>
$TAOS_CFG
echo
"clog
2
"
>>
$TAOS_CFG
echo
"statusInterval 1"
>>
$TAOS_CFG
echo
"numOfTotalVnodes 4"
>>
$TAOS_CFG
echo
"asyncLog 0"
>>
$TAOS_CFG
...
...
tests/script/test.sh
浏览文件 @
787f6387
...
...
@@ -34,6 +34,8 @@ cd .
sh/ip.sh
-i
1
-s
up
>
/dev/null 2>&1 &
sh/ip.sh
-i
2
-s
up
>
/dev/null 2>&1 &
sh/ip.sh
-i
3
-s
up
>
/dev/null 2>&1 &
sh/ip.sh
-i
4
-s
up
>
/dev/null 2>&1 &
sh/ip.sh
-i
5
-s
up
>
/dev/null 2>&1 &
# Get responsible directories
CODE_DIR
=
`
dirname
$0
`
...
...
tests/script/unique/dnode/balance1.sim
浏览文件 @
787f6387
...
...
@@ -25,18 +25,18 @@ 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 clog -v
1
system sh/cfg.sh -n dnode2 -c clog -v
1
system sh/cfg.sh -n dnode3 -c clog -v
1
system sh/cfg.sh -n dnode4 -c clog -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 clog -v
1
system sh/cfg.sh -n dnode2 -c clog -v
1
system sh/cfg.sh -n dnode3 -c clog -v
1
system sh/cfg.sh -n dnode4 -c clog -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
print ========== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec
_up
.sh -n dnode1 -s start
sql connect
sleep 3000
...
...
@@ -49,15 +49,15 @@ sql insert into d1.t1 values(now+4s, 12)
sql insert into d1.t1 values(now+5s, 11)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
if $data3_1
92.168.0.1 != 3
then
print 192.168.0.1
openVnodes $data3_
1
if $data3_1
!= 1
then
return -1
endi
print ========== step2
sleep 2000
sql create dnode 192.168.0.2
system sh/exec.sh -n dnode2 -s start
system sh/exec
_up
.sh -n dnode2 -s start
$x = 0
show2:
...
...
@@ -68,12 +68,12 @@ show2:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1 != 4
then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1
!= 0
then
goto show2
endi
if $data3_
192.168.0.2 != 3
then
if $data3_
2 != 1
then
goto show2
endi
...
...
@@ -87,12 +87,12 @@ sql insert into d2.t2 values(now+4s, 22)
sql insert into d2.t2 values(now+5s, 21)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1 != 4
then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1
!= 0
then
return -1
endi
if $data3_
192.168.0.
2 != 2 then
if $data3_2 != 2 then
return -1
endi
...
...
@@ -108,23 +108,23 @@ show4:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 2 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 2 then
goto show4
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show4
endi
if $rows != 1 then
goto show4
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode2 -s stop -x SIGINT
print ========== step5
sql create dnode 192.168.0.3
system sh/exec.sh -n dnode3 -s start
system sh/exec
_up
.sh -n dnode3 -s start
$x = 0
show5:
...
...
@@ -135,16 +135,16 @@ show5:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
if $data3_1
92.168.0.1 != 4
then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_1
!= 0
then
goto show5
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show5
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
goto show5
endi
...
...
@@ -158,23 +158,23 @@ sql insert into d3.t3 values(now+4s, 32)
sql insert into d3.t3 values(now+5s, 31)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_1
92.168.0.1 != 4
then
if $data3_1
!= 0
then
return -1
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
return -1
endi
if $data3_
192.168.0.3 != 1
then
if $data3_
3 != 3
then
return -1
endi
print ========== step7
sql create dnode 192.168.0.4
system sh/exec.sh -n dnode4 -s start
system sh/exec
_up
.sh -n dnode4 -s start
$x = 0
show7:
...
...
@@ -185,20 +185,20 @@ show7:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
if $data3_1
92.168.0.1 != 4
then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
if $data3_1
!= 0
then
goto show7
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show7
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
goto show7
endi
if $data3_
192.168.0.4 != 3
then
if $data3_
4 != 1
then
goto show7
endi
...
...
@@ -212,21 +212,21 @@ sql insert into d4.t4 values(now+4s, 42)
sql insert into d4.t4 values(now+5s, 41)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
if $data3_1
92.168.0.1 != 4
then
if $data3_1
!= 0
then
return -1
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
return -1
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
return -1
endi
if $data3_
192.168.0.
4 != 2 then
if $data3_4 != 2 then
return -1
endi
...
...
@@ -242,25 +242,25 @@ show9:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
if $data3_1
92.168.0.1 != 4
then
if $data3_1
!= 0
then
goto show9
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show9
endi
if $data3_
192.168.0.
3 != null then
if $data3_3 != null then
goto show9
endi
if $data3_
192.168.0.4 != 0
then
if $data3_
4 != 4
then
goto show9
endi
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode3 -s stop -x SIGINT
print ========== step10
sql select * from d1.t1 order by t desc
...
...
tests/script/unique/dnode/balance2.sim
浏览文件 @
787f6387
...
...
@@ -37,13 +37,13 @@ system sh/cfg.sh -n dnode4 -c clog -v 1
system sh/cfg.sh -n dnode5 -c clog -v 1
print ========== step1
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
sql create dnode 192.168.0.3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec
_up
.sh -n dnode2 -s start
system sh/exec
_up
.sh -n dnode3 -s start
sleep 3000
sql create database d1 replica 2 tables 4
...
...
@@ -63,16 +63,16 @@ sql insert into d2.t2 values(now+4s, 22)
sql insert into d2.t2 values(now+5s, 21)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_1 != 4 then
return -1
endi
if $data3_
192.168.0.
2 != 2 then
if $data3_2 != 2 then
return -1
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
return -1
endi
...
...
@@ -88,24 +88,24 @@ show2:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
if $data3_1
92.168.0.1
!= 2 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_1 != 2 then
goto show2
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show2
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
goto show2
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode2 -s stop -x SIGINT
print ========== step3
sql create dnode 192.168.0.4
system sh/exec.sh -n dnode4 -s start
system sh/exec
_up
.sh -n dnode4 -s start
$x = 0
show3:
...
...
@@ -116,20 +116,20 @@ show3:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
if $data3_1 != 4 then
goto show3
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show3
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
goto show3
endi
if $data3_
192.168.0.
4 != 2 then
if $data3_4 != 2 then
goto show3
endi
...
...
@@ -143,26 +143,26 @@ sql insert into d3.t3 values(now+4s, 32)
sql insert into d3.t3 values(now+5s, 31)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
if $data3_1 != 4 then
return -1
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
return -1
endi
if $data3_
192.168.0.
3 != 1 then
if $data3_3 != 1 then
return -1
endi
if $data3_
192.168.0.
4 != 1 then
if $data3_4 != 1 then
return -1
endi
print ========== step5
sql create dnode 192.168.0.5
system sh/exec.sh -n dnode5 -s start
system sh/exec
_up
.sh -n dnode5 -s start
$x = 0
show5:
...
...
@@ -173,24 +173,24 @@ show5:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
print 192.168.0.5
freeVnodes $data3_192.168.0.
5
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
print 192.168.0.5
openVnodes $data3_
5
if $data3_1 != 4 then
goto show5
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show5
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
goto show5
endi
if $data3_
192.168.0.
4 != 2 then
if $data3_4 != 2 then
goto show5
endi
if $data3_
192.168.0.
5 != 2 then
if $data3_5 != 2 then
goto show5
endi
...
...
@@ -206,28 +206,28 @@ show6:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
print 192.168.0.5
freeVnodes $data3_192.168.0.
5
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
print 192.168.0.5
openVnodes $data3_
5
if $data3_1 != 4 then
goto show6
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show6
endi
if $data3_
192.168.0.
3 != null then
if $data3_3 != null then
goto show6
endi
if $data3_
192.168.0.
4 != 1 then
if $data3_4 != 1 then
goto show6
endi
if $data3_
192.168.0.
5 != 1 then
if $data3_5 != 1 then
goto show6
endi
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode3 -s stop -x SIGINT
print ========== step7
sql select * from d1.t1 order by t desc
...
...
tests/script/unique/dnode/balance3.sim
浏览文件 @
787f6387
...
...
@@ -43,15 +43,15 @@ system sh/cfg.sh -n dnode5 -c clog -v 1
system sh/cfg.sh -n dnode6 -c clog -v 1
print ========== step1
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
sql create dnode 192.168.0.3
sql create dnode 192.168.0.4
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode4 -s start
system sh/exec
_up
.sh -n dnode2 -s start
system sh/exec
_up
.sh -n dnode3 -s start
system sh/exec
_up
.sh -n dnode4 -s start
sleep 3000
sql create database d1 replica 3 tables 4
...
...
@@ -71,21 +71,21 @@ sql insert into d2.t2 values(now+4s, 22)
sql insert into d2.t2 values(now+5s, 21)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
if $data3_1
92.168.0.1
!= 4 then
if $data3_1 != 4 then
return -1
endi
if $data3_
192.168.0.
2 != 2 then
if $data3_2 != 2 then
return -1
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
return -1
endi
if $data3_
192.168.0.
4 != 2 then
if $data3_4 != 2 then
return -1
endi
...
...
@@ -101,29 +101,29 @@ show2:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
if $data3_1
92.168.0.1
!= 2 then
if $data3_1 != 2 then
goto show2
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show2
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
goto show2
endi
if $data3_
192.168.0.
4 != 2 then
if $data3_4 != 2 then
goto show2
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode2 -s stop -x SIGINT
print ========== step
sql create dnode 192.168.0.5
system sh/exec.sh -n dnode5 -s start
system sh/exec
_up
.sh -n dnode5 -s start
$x = 0
show3:
...
...
@@ -134,25 +134,25 @@ show3:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
print 192.168.0.5
freeVnodes $data3_192.168.0.
5
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
print 192.168.0.5
openVnodes $data3_
5
if $data3_1
92.168.0.1
!= 4 then
if $data3_1 != 4 then
goto show3
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show3
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
goto show3
endi
if $data3_
192.168.0.
4 != 2 then
if $data3_4 != 2 then
goto show3
endi
if $data3_
192.168.0.
5 != 2 then
if $data3_5 != 2 then
goto show3
endi
...
...
@@ -174,31 +174,31 @@ show4:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
print 192.168.0.5
freeVnodes $data3_192.168.0.
5
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
print 192.168.0.5
openVnodes $data3_
5
if $data3_1
92.168.0.1
!= 4 then
if $data3_1 != 4 then
goto show4
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show4
endi
if $data3_
192.168.0.
3 != 1 then
if $data3_3 != 1 then
goto show4
endi
if $data3_
192.168.0.
4 != 1 then
if $data3_4 != 1 then
goto show4
endi
if $data3_
192.168.0.
5 != 1 then
if $data3_5 != 1 then
goto show4
endi
print ========== step5
sql create dnode 192.168.0.2
system sh/exec.sh -n dnode2 -s start
system sh/exec
_up
.sh -n dnode2 -s start
$x = 0
show5:
...
...
@@ -209,16 +209,16 @@ show5:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
print 192.168.0.5
freeVnodes $data3_192.168.0.
5
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
print 192.168.0.5
openVnodes $data3_
5
if $data3_1
92.168.0.1
!= 4 then
if $data3_1 != 4 then
goto show5
endi
if $data3_
192.168.0.
2 != 2 then
if $data3_2 != 2 then
goto show5
endi
...
...
@@ -236,29 +236,29 @@ show6:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
print 192.168.0.5
freeVnodes $data3_192.168.0.
5
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
print 192.168.0.5
openVnodes $data3_
5
if $data3_1
92.168.0.1
!= 4 then
if $data3_1 != 4 then
goto show6
endi
if $data3_
192.168.0.
2 != 1 then
if $data3_2 != 1 then
goto show6
endi
if $data3_
192.168.0.
3 != null then
if $data3_3 != null then
goto show6
endi
if $data3_
192.168.0.
4 != 1 then
if $data3_4 != 1 then
goto show6
endi
if $data3_
192.168.0.
5 != 1 then
if $data3_5 != 1 then
goto show6
endi
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode3 -s stop -x SIGINT
print ========== step7
sql select * from d1.t1 order by t desc
...
...
tests/script/unique/dnode/balancex.sim
浏览文件 @
787f6387
...
...
@@ -31,7 +31,7 @@ system sh/cfg.sh -n dnode3 -c clog -v 1
system sh/cfg.sh -n dnode4 -c clog -v 1
print ========== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec
_up
.sh -n dnode1 -s start
sql connect
sleep 3000
...
...
@@ -52,14 +52,14 @@ sql insert into d2.t2 values(now+4s, 22)
sql insert into d2.t2 values(now+5s, 21)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
if $data3_1
92.168.0.1
!= 2 then
print 192.168.0.1
openVnodes $data3_
1
if $data3_1 != 2 then
return -1
endi
print ========== step2
sql create dnode 192.168.0.2
system sh/exec.sh -n dnode2 -s start
system sh/exec
_up
.sh -n dnode2 -s start
$x = 0
show2:
...
...
@@ -70,12 +70,12 @@ show2:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 4 then
goto show2
endi
if $data3_
192.168.0.
2 != 2 then
if $data3_2 != 2 then
goto show2
endi
...
...
@@ -96,18 +96,18 @@ show3:
return -1
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 3 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 3 then
goto show3
endi
if $data3_
192.168.0.
2 != 1 then
if $data3_2 != 1 then
goto show3
endi
print ========== step3
sql create dnode 192.168.0.3
system sh/exec.sh -n dnode3 -s start
system sh/exec
_up
.sh -n dnode3 -s start
$x = 0
show4:
...
...
@@ -117,16 +117,16 @@ show4:
return -1
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_1 != 4 then
goto show4
endi
if $data3_
192.168.0.
2 != 2 then
if $data3_2 != 2 then
goto show4
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
goto show4
endi
...
...
@@ -141,20 +141,20 @@ show5:
return -1
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
if $data3_1
92.168.0.1
!= 3 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_1 != 3 then
goto show5
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show5
endi
if $data3_
192.168.0.
3 != 1 then
if $data3_3 != 1 then
goto show5
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode2 -s stop -x SIGINT
print ========== step6
sql select * from d1.t1 order by t desc
...
...
tests/script/unique/dnode
s
/basic1.sim
→
tests/script/unique/dnode/basic1.sim
浏览文件 @
787f6387
文件已移动
tests/script/unique/dnode/monitor_bug.sim
浏览文件 @
787f6387
...
...
@@ -22,19 +22,19 @@ system sh/cfg.sh -n dnode1 -c monitor -v 1
system sh/cfg.sh -n dnode2 -c monitor -v 0
print ========== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec
_up
.sh -n dnode1 -s start
sql connect
sleep 5000
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
if $data3_1
92.168.0.1
!= 3 then
print 192.168.0.1
openVnodes $data3_
1
if $data3_1 != 3 then
return -1
endi
print ========== step2
sql create dnode 192.168.0.2
system sh/exec.sh -n dnode2 -s start
system sh/exec
_up
.sh -n dnode2 -s start
$x = 0
show2:
...
...
@@ -45,12 +45,12 @@ show2:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 4 then
goto show2
endi
if $data3_
192.168.0.
2 != 3 then
if $data3_2 != 3 then
goto show2
endi
...
...
tests/script/unique/dnode/offline1.sim
浏览文件 @
787f6387
...
...
@@ -29,10 +29,10 @@ system sh/cfg.sh -n dnode2 -c clog -v 1
system sh/cfg.sh -n dnode3 -c clog -v 1
print ========== step1
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
sleep 3000
sql show dnodes
...
...
@@ -44,7 +44,7 @@ if $data4_192.168.0.2 != ready then
endi
print ========== step2
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode2 -s stop -x SIGINT
sleep 6000
sql show dnodes
...
...
tests/script/unique/dnode/offline2.sim
浏览文件 @
787f6387
...
...
@@ -29,10 +29,10 @@ system sh/cfg.sh -n dnode2 -c clog -v 1
system sh/cfg.sh -n dnode3 -c clog -v 1
print ========== step1
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
sleep 3000
sql create database d1 replica 2 tables 4
...
...
@@ -48,7 +48,7 @@ if $data4_192.168.0.2 != ready then
endi
print ========== step2
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql show dnodes
...
...
@@ -72,7 +72,7 @@ endi
print ========== step4
sql create dnode 192.168.0.3
system sh/exec.sh -n dnode3 -s start
system sh/exec
_up
.sh -n dnode3 -s start
sql drop dnode 192.168.0.2
sleep 5000
...
...
tests/script/unique/dnode/remove1.sim
浏览文件 @
787f6387
...
...
@@ -31,7 +31,7 @@ system sh/cfg.sh -n dnode3 -c clog -v 1
system sh/cfg.sh -n dnode4 -c clog -v 1
print ========== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec
_up
.sh -n dnode1 -s start
sql connect
sleep 3000
...
...
@@ -52,14 +52,14 @@ sql insert into d2.t2 values(now+4s, 22)
sql insert into d2.t2 values(now+5s, 21)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
if $data3_1
92.168.0.1
!= 2 then
print 192.168.0.1
openVnodes $data3_
1
if $data3_1 != 2 then
return -1
endi
print ========== step2
sql create dnode 192.168.0.2
system sh/exec.sh -n dnode2 -s start
system sh/exec
_up
.sh -n dnode2 -s start
sleep 9000
sql create database d3 replica 2 tables 4
...
...
@@ -79,12 +79,12 @@ show2:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 3 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 3 then
goto show2
endi
if $data3_
192.168.0.
2 != 1 then
if $data3_2 != 1 then
goto show2
endi
...
...
@@ -101,12 +101,12 @@ show3:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2 $data5_192.168.0.2
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2 $data5_192.168.0.2
print ========== step4
sql create dnode 192.168.0.3
system sh/exec.sh -n dnode3 -s start
system sh/exec
_up
.sh -n dnode3 -s start
$x = 0
show4:
...
...
@@ -117,18 +117,18 @@ show4:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
if $data3_
192.168.0.
2 != null then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_2 != null then
goto show4
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode2 -s stop -x SIGINT
print ========== step5
sql create dnode 192.168.0.4
system sh/exec.sh -n dnode4 -s start
system sh/exec
_up
.sh -n dnode4 -s start
$x = 0
show5:
...
...
@@ -138,20 +138,20 @@ show5:
return -1
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
print 192.168.0.4
freeVnodes $data3_192.168.0.
4
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
print 192.168.0.4
openVnodes $data3_
4
if $data3_1 != 4 then
goto show5
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show5
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
goto show5
endi
if $data3_
192.168.0.
4 != 2 then
if $data3_4 != 2 then
goto show5
endi
...
...
tests/script/unique/dnode/remove2.sim
浏览文件 @
787f6387
...
...
@@ -31,7 +31,7 @@ system sh/cfg.sh -n dnode3 -c clog -v 1
system sh/cfg.sh -n dnode4 -c clog -v 1
print ========== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec
_up
.sh -n dnode1 -s start
sql connect
sleep 3000
...
...
@@ -52,14 +52,14 @@ sql insert into d2.t2 values(now+4s, 22)
sql insert into d2.t2 values(now+5s, 21)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
if $data3_1
92.168.0.1
!= 2 then
print 192.168.0.1
openVnodes $data3_
1
if $data3_1 != 2 then
return -1
endi
print ========== step2
sql create dnode 192.168.0.2
system sh/exec.sh -n dnode2 -s start
system sh/exec
_up
.sh -n dnode2 -s start
sleep 9000
sql create database d3 replica 2 tables 4
...
...
@@ -79,17 +79,17 @@ show2:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 3 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 3 then
goto show2
endi
if $data3_
192.168.0.
2 != 1 then
if $data3_2 != 1 then
goto show2
endi
print ========== step3
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode2 -s stop -x SIGINT
sql drop dnode 192.168.0.2
sleep 7001
...
...
@@ -102,12 +102,12 @@ show3:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2 $data5_192.168.0.2
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2 $data5_192.168.0.2
print ========== step4
sql create dnode 192.168.0.3
system sh/exec.sh -n dnode3 -s start
system sh/exec
_up
.sh -n dnode3 -s start
$x = 0
show4:
...
...
@@ -118,16 +118,16 @@ show4:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
if $data3_
192.168.0.
2 != null then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_2 != null then
goto show4
endi
if $data3_1
92.168.0.1
!= 3 then
if $data3_1 != 3 then
goto show4
endi
if $data3_
192.168.0.
3 != 1 then
if $data3_3 != 1 then
goto show4
endi
...
...
tests/script/unique/dnode/vnode_clean.sim
浏览文件 @
787f6387
...
...
@@ -31,7 +31,7 @@ system sh/cfg.sh -n dnode3 -c clog -v 1
system sh/cfg.sh -n dnode4 -c clog -v 1
print ========== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec
_up
.sh -n dnode1 -s start
sql connect
sql create database d1 tables 4
...
...
@@ -43,14 +43,14 @@ sql insert into d1.t1 values(now+4s, 12)
sql insert into d1.t1 values(now+5s, 11)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
if $data3_1
92.168.0.1
!= 3 then
print 192.168.0.1
openVnodes $data3_
1
if $data3_1 != 3 then
return -1
endi
print ========== step2
sql create dnode 192.168.0.2
system sh/exec.sh -n dnode2 -s start
system sh/exec
_up
.sh -n dnode2 -s start
$x = 0
show2:
...
...
@@ -60,12 +60,12 @@ show2:
return -1
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 4 then
goto show2
endi
if $data3_
192.168.0.
2 != 3 then
if $data3_2 != 3 then
goto show2
endi
...
...
@@ -81,12 +81,12 @@ sql insert into d2.t2 values(now+5s, 21)
$x = 0
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 4 then
return -1
endi
if $data3_
192.168.0.
2 != 2 then
if $data3_2 != 2 then
return -1
endi
...
...
@@ -101,19 +101,19 @@ show4:
return -1
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 2 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 2 then
goto show4
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show4
endi
if $rows != 1 then
goto show4
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode2 -s stop -x SIGINT
print ========== step5
sleep 2000
...
...
@@ -125,7 +125,7 @@ system sh/cfg.sh -n dnode2 -c balanceMonitorInterval -v 1
system sh/cfg.sh -n dnode2 -c balanceStartInterval -v 10
system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c clog -v 1
system sh/exec.sh -n dnode2 -s start
system sh/exec
_up
.sh -n dnode2 -s start
$x = 0
show5:
...
...
@@ -135,12 +135,12 @@ show5:
return -1
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 4 then
goto show5
endi
if $data3_
192.168.0.
2 != 2 then
if $data3_2 != 2 then
goto show5
endi
...
...
@@ -154,18 +154,18 @@ sql insert into d3.t3 values(now+4s, 32)
sql insert into d3.t3 values(now+5s, 31)
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
if $data3_1 != 4 then
return -1
endi
if $data3_
192.168.0.
2 != 1 then
if $data3_2 != 1 then
return -1
endi
print ========== step7
sql create dnode 192.168.0.3
system sh/exec.sh -n dnode3 -s start
system sh/exec
_up
.sh -n dnode3 -s start
$x = 0
show7:
...
...
@@ -176,16 +176,16 @@ show7:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_1 != 4 then
goto show7
endi
if $data3_
192.168.0.
2 != 2 then
if $data3_2 != 2 then
goto show7
endi
if $data3_
192.168.0.
3 != 3 then
if $data3_3 != 3 then
goto show7
endi
...
...
@@ -206,16 +206,16 @@ show8:
return -1
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_1 != 4 then
goto show8
endi
if $data3_
192.168.0.
2 != 2 then
if $data3_2 != 2 then
goto show8
endi
if $data3_
192.168.0.
3 != 2 then
if $data3_3 != 2 then
goto show8
endi
...
...
@@ -231,20 +231,20 @@ show9:
endi
sql show dnodes
print 192.168.0.1
freeVnodes $data3_192.168.0.
1
print 192.168.0.2
freeVnodes $data3_192.168.0.
2
print 192.168.0.3
freeVnodes $data3_192.168.0.
3
if $data3_1
92.168.0.1
!= 4 then
print 192.168.0.1
openVnodes $data3_
1
print 192.168.0.2
openVnodes $data3_
2
print 192.168.0.3
openVnodes $data3_
3
if $data3_1 != 4 then
goto show9
endi
if $data3_
192.168.0.
2 != null then
if $data3_2 != null then
goto show9
endi
if $data3_
192.168.0.
3 != 0 then
if $data3_3 != 0 then
goto show9
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec
_up
.sh -n dnode2 -s stop -x SIGINT
print ========== step10
sql select * from d1.t1 order by t desc
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录