Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Mr、小李
TDengine
提交
ee782d05
T
TDengine
项目概览
Mr、小李
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
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,发现更多精彩内容 >>
未验证
提交
ee782d05
编写于
5月 22, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
5月 22, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2003 from taosdata/hotfix/heartbeat
Hotfix/heartbeat
上级
be3cd417
2190fc32
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
36 addition
and
4 deletion
+36
-4
src/client/src/tscLocal.c
src/client/src/tscLocal.c
+11
-0
src/client/src/tscServer.c
src/client/src/tscServer.c
+11
-3
src/inc/taosmsg.h
src/inc/taosmsg.h
+2
-0
src/system/detail/inc/mgmt.h
src/system/detail/inc/mgmt.h
+2
-0
src/system/detail/src/mgmtShell.c
src/system/detail/src/mgmtShell.c
+5
-1
src/system/lite/src/mgmtShell.spec.c
src/system/lite/src/mgmtShell.spec.c
+5
-0
未找到文件。
src/client/src/tscLocal.c
浏览文件 @
ee782d05
...
...
@@ -434,6 +434,17 @@ static void tscProcessServStatus(SSqlObj *pSql) {
if
(
pObj
->
pHb
->
res
.
code
==
TSDB_CODE_NETWORK_UNAVAIL
)
{
pSql
->
res
.
code
=
TSDB_CODE_NETWORK_UNAVAIL
;
return
;
}
else
{
int32_t
*
data
=
(
int32_t
*
)
pObj
->
pHb
->
res
.
data
;
int32_t
totalDnode
=
data
[
0
];
int32_t
onlineDnode
=
data
[
1
];
assert
(
onlineDnode
<=
totalDnode
);
if
(
onlineDnode
<
totalDnode
)
{
pSql
->
res
.
code
=
TSDB_CODE_NETWORK_UNAVAIL
;
return
;
}
}
}
else
{
if
(
pSql
->
res
.
code
==
TSDB_CODE_NETWORK_UNAVAIL
)
{
...
...
src/client/src/tscServer.c
浏览文件 @
ee782d05
...
...
@@ -106,12 +106,12 @@ static int32_t tscGetMgmtConnMaxRetryTimes() {
return
tscMgmtIpList
.
numOfIps
*
factor
;
}
void
tscProcessHeartBeatRsp
(
void
*
param
,
TAOS_RES
*
tres
,
int
code
)
{
int32_t
tscProcessHeartBeatRsp
(
void
*
param
,
TAOS_RES
*
tres
,
int
code
)
{
STscObj
*
pObj
=
(
STscObj
*
)
param
;
if
(
pObj
==
NULL
)
return
;
if
(
pObj
==
NULL
)
return
TSDB_CODE_APP_ERROR
;
if
(
pObj
!=
pObj
->
signature
)
{
tscError
(
"heart beat msg, pObj:%p, signature:%p invalid"
,
pObj
,
pObj
->
signature
);
return
;
return
TSDB_CODE_APP_ERROR
;
}
SSqlObj
*
pSql
=
pObj
->
pHb
;
...
...
@@ -128,11 +128,19 @@ void tscProcessHeartBeatRsp(void *param, TAOS_RES *tres, int code) {
if
(
pRsp
->
queryId
)
tscKillQuery
(
pObj
,
pRsp
->
queryId
);
if
(
pRsp
->
streamId
)
tscKillStream
(
pObj
,
pRsp
->
streamId
);
}
if
(
pRes
->
data
==
NULL
)
{
pRes
->
data
=
calloc
(
2
,
sizeof
(
int32_t
));
}
((
int32_t
*
)
pRes
->
data
)[
0
]
=
htonl
(
pRsp
->
totalDnodes
);
((
int32_t
*
)
pRes
->
data
)[
1
]
=
htonl
(
pRsp
->
onlineDnodes
);
}
else
{
tscTrace
(
"heart beat failed, code:%d"
,
code
);
}
taosTmrReset
(
tscProcessActivityTimer
,
tsShellActivityTimer
*
500
,
pObj
,
tscTmr
,
&
pObj
->
pTimer
);
return
code
;
}
void
tscProcessActivityTimer
(
void
*
handle
,
void
*
tmrId
)
{
...
...
src/inc/taosmsg.h
浏览文件 @
ee782d05
...
...
@@ -821,6 +821,8 @@ typedef struct {
typedef
struct
{
uint32_t
queryId
;
uint32_t
streamId
;
uint32_t
totalDnodes
;
uint32_t
onlineDnodes
;
char
killConnection
;
SIpList
ipList
;
}
SHeartBeatRsp
;
...
...
src/system/detail/inc/mgmt.h
浏览文件 @
ee782d05
...
...
@@ -432,6 +432,8 @@ bool mgmtAddVnode(SVgObj *pVgroup, SDnodeObj *pSrcDnode, SDnodeObj *pDestDnode);
void
mgmtSetModuleInDnode
(
SDnodeObj
*
pDnode
,
int
moduleType
);
int
mgmtUnSetModuleInDnode
(
SDnodeObj
*
pDnode
,
int
moduleType
);
void
mgmtGetDnodeOnlineNum
(
int32_t
*
totalDnodes
,
int32_t
*
onlineDnodes
);
extern
int
(
*
mgmtGetMetaFp
[])(
SMeterMeta
*
pMeta
,
SShowObj
*
pShow
,
SConnObj
*
pConn
);
extern
int
(
*
mgmtRetrieveFp
[])(
SShowObj
*
pShow
,
char
*
data
,
int
rows
,
SConnObj
*
pConn
);
...
...
src/system/detail/src/mgmtShell.c
浏览文件 @
ee782d05
...
...
@@ -1185,7 +1185,7 @@ int mgmtProcessHeartBeatMsg(char *cont, int contLen, SConnObj *pConn) {
char
*
pStart
,
*
pMsg
;
int
msgLen
;
STaosRsp
*
pRsp
;
mgmtSaveQueryStreamList
(
cont
,
contLen
,
pConn
);
pStart
=
taosBuildRspMsgWithSize
(
pConn
->
thandle
,
TSDB_MSG_TYPE_HEARTBEAT_RSP
,
128
);
...
...
@@ -1203,6 +1203,10 @@ int mgmtProcessHeartBeatMsg(char *cont, int contLen, SConnObj *pConn) {
pConn
->
streamId
=
0
;
pHBRsp
->
killConnection
=
pConn
->
killConnection
;
mgmtGetDnodeOnlineNum
(
&
pHBRsp
->
totalDnodes
,
&
pHBRsp
->
onlineDnodes
);
pHBRsp
->
totalDnodes
=
htonl
(
pHBRsp
->
totalDnodes
);
pHBRsp
->
onlineDnodes
=
htonl
(
pHBRsp
->
onlineDnodes
);
if
(
pConn
->
usePublicIp
)
{
if
(
pSdbPublicIpList
!=
NULL
)
{
int
size
=
pSdbPublicIpList
->
numOfIps
*
4
;
...
...
src/system/lite/src/mgmtShell.spec.c
浏览文件 @
ee782d05
...
...
@@ -45,4 +45,9 @@ int mgmtProcessDropAcctMsg(char *pMsg, int msgLen, SConnObj *pConn) {
int
mgmtProcessCreateAcctMsg
(
char
*
pMsg
,
int
msgLen
,
SConnObj
*
pConn
)
{
return
taosSendSimpleRsp
(
pConn
->
thandle
,
TSDB_MSG_TYPE_CREATE_ACCT_RSP
,
TSDB_CODE_OPS_NOT_SUPPORT
);
}
void
mgmtGetDnodeOnlineNum
(
int32_t
*
totalDnodes
,
int32_t
*
onlineDnodes
)
{
*
totalDnodes
=
1
;
*
onlineDnodes
=
1
;
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录