Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
00d08280
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
未验证
提交
00d08280
编写于
8月 18, 2021
作者:
D
dapan1121
提交者:
GitHub
8月 18, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #7435 from taosdata/hotfix/TD-6131
[TD-6131]<fix> taosd crash when 'show vnodes ' return too many results
上级
c1f224ec
11996d25
变更
7
显示空白变更内容
内联
并排
Showing
7 changed file
with
29 addition
and
10 deletion
+29
-10
src/common/inc/tglobal.h
src/common/inc/tglobal.h
+3
-0
src/common/src/tglobal.c
src/common/src/tglobal.c
+5
-0
src/mnode/inc/mnodeDef.h
src/mnode/inc/mnodeDef.h
+1
-0
src/mnode/src/mnodeDnode.c
src/mnode/src/mnodeDnode.c
+12
-4
src/mnode/src/mnodeShow.c
src/mnode/src/mnodeShow.c
+7
-2
src/tsdb/src/tsdbFS.c
src/tsdb/src/tsdbFS.c
+1
-3
src/util/inc/tconfig.h
src/util/inc/tconfig.h
+0
-1
未找到文件。
src/common/inc/tglobal.h
浏览文件 @
00d08280
...
...
@@ -107,6 +107,9 @@ extern int32_t tsQuorum;
extern
int8_t
tsUpdate
;
extern
int8_t
tsCacheLastRow
;
//tsdb
extern
bool
tsdbForceKeepFile
;
// balance
extern
int8_t
tsEnableBalance
;
extern
int8_t
tsAlternativeRole
;
...
...
src/common/src/tglobal.c
浏览文件 @
00d08280
...
...
@@ -151,6 +151,11 @@ int32_t tsMinTablePerVnode = TSDB_TABLES_STEP;
int32_t
tsMaxTablePerVnode
=
TSDB_DEFAULT_TABLES
;
int32_t
tsTableIncStepPerVnode
=
TSDB_TABLES_STEP
;
// tsdb config
// For backward compatibility
bool
tsdbForceKeepFile
=
false
;
// balance
int8_t
tsEnableBalance
=
1
;
int8_t
tsAlternativeRole
=
0
;
...
...
src/mnode/inc/mnodeDef.h
浏览文件 @
00d08280
...
...
@@ -274,6 +274,7 @@ typedef struct {
int32_t
rowSize
;
int32_t
numOfRows
;
void
*
pIter
;
void
*
pVgIter
;
void
**
ppShow
;
int16_t
offset
[
TSDB_MAX_COLUMNS
];
int32_t
bytes
[
TSDB_MAX_COLUMNS
];
...
...
src/mnode/src/mnodeDnode.c
浏览文件 @
00d08280
...
...
@@ -196,14 +196,20 @@ int32_t mnodeInitDnodes() {
mnodeAddWriteMsgHandle
(
TSDB_MSG_TYPE_CM_CREATE_DNODE
,
mnodeProcessCreateDnodeMsg
);
mnodeAddWriteMsgHandle
(
TSDB_MSG_TYPE_CM_DROP_DNODE
,
mnodeProcessDropDnodeMsg
);
mnodeAddWriteMsgHandle
(
TSDB_MSG_TYPE_CM_CONFIG_DNODE
,
mnodeProcessCfgDnodeMsg
);
mnodeAddPeerRspHandle
(
TSDB_MSG_TYPE_MD_CONFIG_DNODE_RSP
,
mnodeProcessCfgDnodeMsgRsp
);
mnodeAddPeerMsgHandle
(
TSDB_MSG_TYPE_DM_STATUS
,
mnodeProcessDnodeStatusMsg
);
mnodeAddShowMetaHandle
(
TSDB_MGMT_TABLE_MODULE
,
mnodeGetModuleMeta
);
mnodeAddShowRetrieveHandle
(
TSDB_MGMT_TABLE_MODULE
,
mnodeRetrieveModules
);
mnodeAddShowMetaHandle
(
TSDB_MGMT_TABLE_VARIABLES
,
mnodeGetConfigMeta
);
mnodeAddShowRetrieveHandle
(
TSDB_MGMT_TABLE_VARIABLES
,
mnodeRetrieveConfigs
);
mnodeAddShowMetaHandle
(
TSDB_MGMT_TABLE_VNODES
,
mnodeGetVnodeMeta
);
mnodeAddShowRetrieveHandle
(
TSDB_MGMT_TABLE_VNODES
,
mnodeRetrieveVnodes
);
mnodeAddShowFreeIterHandle
(
TSDB_MGMT_TABLE_VNODES
,
mnodeCancelGetNextVgroup
);
mnodeAddShowMetaHandle
(
TSDB_MGMT_TABLE_DNODE
,
mnodeGetDnodeMeta
);
mnodeAddShowRetrieveHandle
(
TSDB_MGMT_TABLE_DNODE
,
mnodeRetrieveDnodes
);
mnodeAddShowFreeIterHandle
(
TSDB_MGMT_TABLE_DNODE
,
mnodeCancelGetNextDnode
);
...
...
@@ -1232,13 +1238,12 @@ static int32_t mnodeRetrieveVnodes(SShowObj *pShow, char *data, int32_t rows, vo
pDnode
=
(
SDnodeObj
*
)(
pShow
->
pIter
);
if
(
pDnode
!=
NULL
)
{
void
*
pIter
=
NULL
;
SVgObj
*
pVgroup
;
while
(
1
)
{
p
Iter
=
mnodeGetNextVgroup
(
p
Iter
,
&
pVgroup
);
p
Show
->
pVgIter
=
mnodeGetNextVgroup
(
pShow
->
pVg
Iter
,
&
pVgroup
);
if
(
pVgroup
==
NULL
)
break
;
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
pVgroup
->
numOfVnodes
&&
numOfRows
<
rows
;
++
i
)
{
SVnodeGid
*
pVgid
=
&
pVgroup
->
vnodeGid
[
i
];
if
(
pVgid
->
pDnode
==
pDnode
)
{
cols
=
0
;
...
...
@@ -1250,10 +1255,13 @@ static int32_t mnodeRetrieveVnodes(SShowObj *pShow, char *data, int32_t rows, vo
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
STR_TO_VARSTR
(
pWrite
,
syncRole
[
pVgid
->
role
]);
cols
++
;
numOfRows
++
;
}
}
if
(
numOfRows
>=
rows
)
{
break
;
}
mnodeDecVgroupRef
(
pVgroup
);
}
...
...
src/mnode/src/mnodeShow.c
浏览文件 @
00d08280
...
...
@@ -422,8 +422,13 @@ static void* mnodePutShowObj(SShowObj *pShow) {
static
void
mnodeFreeShowObj
(
void
*
data
)
{
SShowObj
*
pShow
=
*
(
SShowObj
**
)
data
;
if
(
tsMnodeShowFreeIterFp
[
pShow
->
type
]
!=
NULL
&&
pShow
->
pIter
!=
NULL
)
{
(
*
tsMnodeShowFreeIterFp
[
pShow
->
type
])(
pShow
->
pIter
);
if
(
tsMnodeShowFreeIterFp
[
pShow
->
type
]
!=
NULL
)
{
if
(
pShow
->
pVgIter
!=
NULL
)
{
// only used in 'show vnodes "ep"'
(
*
tsMnodeShowFreeIterFp
[
pShow
->
type
])(
pShow
->
pVgIter
);
}
else
{
if
(
pShow
->
pIter
!=
NULL
)
(
*
tsMnodeShowFreeIterFp
[
pShow
->
type
])(
pShow
->
pIter
);
}
}
mDebug
(
"%p, show is destroyed, data:%p index:%d"
,
pShow
,
data
,
pShow
->
index
);
...
...
src/tsdb/src/tsdbFS.c
浏览文件 @
00d08280
...
...
@@ -37,8 +37,6 @@ static void tsdbScanAndTryFixDFilesHeader(STsdbRepo *pRepo, int32_t *nExpired);
static
int
tsdbProcessExpiredFS
(
STsdbRepo
*
pRepo
);
static
int
tsdbCreateMeta
(
STsdbRepo
*
pRepo
);
// For backward compatibility
bool
tsdbForceKeepFile
=
false
;
// ================== CURRENT file header info
static
int
tsdbEncodeFSHeader
(
void
**
buf
,
SFSHeader
*
pHeader
)
{
int
tlen
=
0
;
...
...
src/util/inc/tconfig.h
浏览文件 @
00d08280
...
...
@@ -81,7 +81,6 @@ typedef struct {
extern
SGlobalCfg
tsGlobalConfig
[];
extern
int32_t
tsGlobalConfigNum
;
extern
char
*
tsCfgStatusStr
[];
extern
bool
tsdbForceKeepFile
;
void
taosReadGlobalLogCfg
();
bool
taosReadGlobalCfg
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录