Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
c368db30
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c368db30
编写于
7月 26, 2023
作者:
L
liuyao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
stream fill operator mem leak
上级
c57defa1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
15 addition
and
5 deletion
+15
-5
source/libs/executor/src/filloperator.c
source/libs/executor/src/filloperator.c
+13
-5
source/libs/stream/src/streamBackendRocksdb.c
source/libs/stream/src/streamBackendRocksdb.c
+2
-0
未找到文件。
source/libs/executor/src/filloperator.c
浏览文件 @
c368db30
...
...
@@ -502,9 +502,13 @@ void* destroyStreamFillSupporter(SStreamFillSupporter* pFillSup) {
pFillSup
->
pAllColInfo
=
destroyFillColumnInfo
(
pFillSup
->
pAllColInfo
,
pFillSup
->
numOfFillCols
,
pFillSup
->
numOfAllCols
);
tSimpleHashCleanup
(
pFillSup
->
pResMap
);
pFillSup
->
pResMap
=
NULL
;
releaseOutputBuf
(
NULL
,
NULL
,
(
SResultRow
*
)
pFillSup
->
cur
.
pRowVal
,
&
pFillSup
->
pAPI
->
stateStore
);
//?????
pFillSup
->
cur
.
pRowVal
=
NULL
;
cleanupExprSupp
(
&
pFillSup
->
notFillExprSup
);
if
(
pFillSup
->
cur
.
pRowVal
!=
pFillSup
->
prev
.
pRowVal
&&
pFillSup
->
cur
.
pRowVal
!=
pFillSup
->
next
.
pRowVal
)
{
taosMemoryFree
(
pFillSup
->
cur
.
pRowVal
);
}
taosMemoryFree
(
pFillSup
->
prev
.
pRowVal
);
taosMemoryFree
(
pFillSup
->
next
.
pRowVal
);
taosMemoryFree
(
pFillSup
->
nextNext
.
pRowVal
);
taosMemoryFree
(
pFillSup
);
return
NULL
;
...
...
@@ -546,13 +550,17 @@ static void destroyStreamFillOperatorInfo(void* param) {
static
void
resetFillWindow
(
SResultRowData
*
pRowData
)
{
pRowData
->
key
=
INT64_MIN
;
pRowData
->
pRowVal
=
NULL
;
taosMemoryFreeClear
(
pRowData
->
pRowVal
)
;
}
void
resetPrevAndNextWindow
(
SStreamFillSupporter
*
pFillSup
,
void
*
pState
,
SStorageAPI
*
pAPI
)
{
if
(
pFillSup
->
cur
.
pRowVal
!=
pFillSup
->
prev
.
pRowVal
&&
pFillSup
->
cur
.
pRowVal
!=
pFillSup
->
next
.
pRowVal
)
{
resetFillWindow
(
&
pFillSup
->
cur
);
}
else
{
pFillSup
->
cur
.
key
=
INT64_MIN
;
pFillSup
->
cur
.
pRowVal
=
NULL
;
}
resetFillWindow
(
&
pFillSup
->
prev
);
releaseOutputBuf
(
NULL
,
NULL
,
(
SResultRow
*
)
pFillSup
->
cur
.
pRowVal
,
&
pAPI
->
stateStore
);
//???
resetFillWindow
(
&
pFillSup
->
cur
);
resetFillWindow
(
&
pFillSup
->
next
);
resetFillWindow
(
&
pFillSup
->
nextNext
);
}
...
...
source/libs/stream/src/streamBackendRocksdb.c
浏览文件 @
c368db30
...
...
@@ -1263,6 +1263,8 @@ int32_t streamStateGetGroupKVByCur_rocksdb(SStreamStateCur* pCur, SWinKey* pKey,
if
(
pKey
->
groupId
==
groupId
)
{
return
0
;
}
taosMemoryFree
((
void
*
)
*
pVal
);
*
pVal
=
NULL
;
}
return
-
1
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录