Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
ea4904fb
T
TDengine
项目概览
taosdata
/
TDengine
接近 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ea4904fb
编写于
8月 08, 2022
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: fix memory leak issue
上级
7d0f42aa
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
25 addition
and
7 deletion
+25
-7
source/client/src/clientHb.c
source/client/src/clientHb.c
+7
-1
source/client/src/clientImpl.c
source/client/src/clientImpl.c
+5
-1
source/client/src/clientMain.c
source/client/src/clientMain.c
+3
-2
source/client/src/clientMsgHandler.c
source/client/src/clientMsgHandler.c
+1
-1
source/libs/qcom/src/queryUtil.c
source/libs/qcom/src/queryUtil.c
+1
-1
source/libs/scheduler/src/schRemote.c
source/libs/scheduler/src/schRemote.c
+5
-0
source/libs/scheduler/src/schTask.c
source/libs/scheduler/src/schTask.c
+1
-1
source/libs/scheduler/src/scheduler.c
source/libs/scheduler/src/scheduler.c
+2
-0
未找到文件。
source/client/src/clientHb.c
浏览文件 @
ea4904fb
...
...
@@ -327,7 +327,13 @@ int32_t hbBuildQueryDesc(SQueryHbReqBasic *hbBasic, STscObj *pObj) {
while
(
pIter
!=
NULL
)
{
int64_t
*
rid
=
pIter
;
SRequestObj
*
pRequest
=
acquireRequest
(
*
rid
);
if
(
NULL
==
pRequest
||
pRequest
->
killed
)
{
if
(
NULL
==
pRequest
)
{
pIter
=
taosHashIterate
(
pObj
->
pRequests
,
pIter
);
continue
;
}
if
(
pRequest
->
killed
)
{
releaseRequest
(
*
rid
);
pIter
=
taosHashIterate
(
pObj
->
pRequests
,
pIter
);
continue
;
}
...
...
source/client/src/clientImpl.c
浏览文件 @
ea4904fb
...
...
@@ -283,7 +283,7 @@ void asyncExecLocalCmd(SRequestObj* pRequest, SQuery* pQuery) {
int32_t
code
=
qExecCommand
(
pQuery
->
pRoot
,
&
pRsp
);
if
(
TSDB_CODE_SUCCESS
==
code
&&
NULL
!=
pRsp
)
{
code
=
setQueryResultFromRsp
(
&
pRequest
->
body
.
resInfo
,
pRsp
,
false
,
fals
e
);
code
=
setQueryResultFromRsp
(
&
pRequest
->
body
.
resInfo
,
pRsp
,
false
,
tru
e
);
}
SReqResultInfo
*
pResultInfo
=
&
pRequest
->
body
.
resInfo
;
...
...
@@ -1348,6 +1348,10 @@ int32_t doProcessMsgFromServer(void* param) {
}
else
{
memcpy
(
buf
.
pData
,
pMsg
->
pCont
,
pMsg
->
contLen
);
}
tscDebug
(
"xxxxx malloc %p, message: %s, size:%d, code: %s, gtid: %s"
,
buf
.
pData
,
TMSG_INFO
(
pMsg
->
msgType
),
pMsg
->
contLen
,
tstrerror
(
pMsg
->
code
),
tbuf
);
}
pSendInfo
->
fp
(
pSendInfo
->
param
,
&
buf
,
pMsg
->
code
);
...
...
source/client/src/clientMain.c
浏览文件 @
ea4904fb
...
...
@@ -182,6 +182,7 @@ void taos_free_result(TAOS_RES *res) {
if
(
TD_RES_QUERY
(
res
))
{
SRequestObj
*
pRequest
=
(
SRequestObj
*
)
res
;
tscDebug
(
"0x%"
PRIx64
" taos_free_result start to free query"
,
pRequest
->
requestId
);
destroyRequest
(
pRequest
);
}
else
if
(
TD_RES_TMQ
(
res
))
{
SMqRspObj
*
pRsp
=
(
SMqRspObj
*
)
res
;
...
...
@@ -482,7 +483,7 @@ void taos_stop_query(TAOS_RES *res) {
int32_t
numOfFields
=
taos_num_fields
(
pRequest
);
// It is not a query, no need to stop.
if
(
numOfFields
==
0
)
{
tscDebug
(
"request %"
PRIx64
" no need to be killed since not query"
,
pRequest
->
requestId
);
tscDebug
(
"request
0x
%"
PRIx64
" no need to be killed since not query"
,
pRequest
->
requestId
);
return
;
}
...
...
@@ -847,7 +848,7 @@ static void fetchCallback(void *pResult, void *param, int32_t code) {
}
pRequest
->
code
=
setQueryResultFromRsp
(
pResultInfo
,
(
SRetrieveTableRsp
*
)
pResultInfo
->
pData
,
pResultInfo
->
convertUcs4
,
fals
e
);
setQueryResultFromRsp
(
pResultInfo
,
(
SRetrieveTableRsp
*
)
pResultInfo
->
pData
,
pResultInfo
->
convertUcs4
,
tru
e
);
if
(
pRequest
->
code
!=
TSDB_CODE_SUCCESS
)
{
pResultInfo
->
numOfRows
=
0
;
pRequest
->
code
=
code
;
...
...
source/client/src/clientMsgHandler.c
浏览文件 @
ea4904fb
...
...
@@ -389,7 +389,7 @@ int32_t processShowVariablesRsp(void* param, SDataBuf* pMsg, int32_t code) {
code
=
buildShowVariablesRsp
(
rsp
.
variables
,
&
pRes
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
setQueryResultFromRsp
(
&
pRequest
->
body
.
resInfo
,
pRes
,
false
,
fals
e
);
code
=
setQueryResultFromRsp
(
&
pRequest
->
body
.
resInfo
,
pRes
,
false
,
tru
e
);
}
tFreeSShowVariablesRsp
(
&
rsp
);
...
...
source/libs/qcom/src/queryUtil.c
浏览文件 @
ea4904fb
...
...
@@ -415,7 +415,7 @@ int32_t cloneTableMeta(STableMeta* pSrc, STableMeta** pDst) {
return
TSDB_CODE_SUCCESS
;
}
int32_t
metaSize
=
(
pSrc
->
tableInfo
.
numOfColumns
+
pSrc
->
tableInfo
.
numOfTags
)
*
sizeof
(
SSchema
);
int32_t
metaSize
=
sizeof
(
STableMeta
)
+
(
pSrc
->
tableInfo
.
numOfColumns
+
pSrc
->
tableInfo
.
numOfTags
)
*
sizeof
(
SSchema
);
*
pDst
=
taosMemoryMalloc
(
metaSize
);
if
(
NULL
==
*
pDst
)
{
return
TSDB_CODE_TSC_OUT_OF_MEMORY
;
...
...
source/libs/scheduler/src/schRemote.c
浏览文件 @
ea4904fb
...
...
@@ -389,6 +389,7 @@ int32_t schHandleCallback(void *param, SDataBuf *pMsg, int32_t rspCode) {
_return:
qDebug
(
"xxxxx free %p"
,
pMsg
->
pData
);
taosMemoryFreeClear
(
pMsg
->
pData
);
qDebug
(
"end to handle rsp msg, type:%s, handle:%p, code:%s"
,
TMSG_INFO
(
pMsg
->
msgType
),
pMsg
->
handle
,
...
...
@@ -402,6 +403,7 @@ int32_t schHandleDropCallback(void *param, SDataBuf *pMsg, int32_t code) {
qDebug
(
"QID:0x%"
PRIx64
",TID:0x%"
PRIx64
" drop task rsp received, code:0x%x"
,
pParam
->
queryId
,
pParam
->
taskId
,
code
);
if
(
pMsg
)
{
qDebug
(
"xxxxx free %p"
,
pMsg
->
pData
);
taosMemoryFree
(
pMsg
->
pData
);
}
return
TSDB_CODE_SUCCESS
;
...
...
@@ -414,6 +416,8 @@ int32_t schHandleLinkBrokenCallback(void *param, SDataBuf *pMsg, int32_t code) {
qDebug
(
"handle %p is broken"
,
pMsg
->
handle
);
if
(
head
->
isHbParam
)
{
qDebug
(
"xxxxx free %p"
,
pMsg
->
pData
);
taosMemoryFree
(
pMsg
->
pData
);
SSchHbCallbackParam
*
hbParam
=
(
SSchHbCallbackParam
*
)
param
;
...
...
@@ -456,6 +460,7 @@ int32_t schHandleHbCallback(void *param, SDataBuf *pMsg, int32_t code) {
_return:
tFreeSSchedulerHbRsp
(
&
rsp
);
qDebug
(
"xxxxx free %p"
,
pMsg
->
pData
);
taosMemoryFree
(
pMsg
->
pData
);
SCH_RET
(
code
);
}
...
...
source/libs/scheduler/src/schTask.c
浏览文件 @
ea4904fb
...
...
@@ -411,7 +411,7 @@ int32_t schHandleRedirect(SSchJob *pJob, SSchTask *pTask, SDataBuf *pData, int32
if
(
pJob
->
fetched
)
{
SCH_UNLOCK
(
SCH_WRITE
,
&
pJob
->
resLock
);
SCH_TASK_ELOG
(
"already fetched while got error %s"
,
tstrerror
(
rspCode
));
SCH_ERR_RET
(
rspCode
);
SCH_ERR_
J
RET
(
rspCode
);
}
SCH_UNLOCK
(
SCH_WRITE
,
&
pJob
->
resLock
);
...
...
source/libs/scheduler/src/scheduler.c
浏览文件 @
ea4904fb
...
...
@@ -154,6 +154,8 @@ void schedulerFreeJob(int64_t* jobId, int32_t errCode) {
return
;
}
SCH_JOB_DLOG
(
"start to free job 0x%"
PRIx64
", errCode:0x%x"
,
*
jobId
,
errCode
);
schHandleJobDrop
(
pJob
,
errCode
);
schReleaseJob
(
*
jobId
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录