Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
bccb31ac
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
bccb31ac
编写于
12月 01, 2022
作者:
5
54liuyao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:stream crash && add debug log
上级
ce768920
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
12 addition
and
4 deletion
+12
-4
source/libs/executor/inc/executorimpl.h
source/libs/executor/inc/executorimpl.h
+1
-0
source/libs/executor/src/filloperator.c
source/libs/executor/src/filloperator.c
+2
-2
source/libs/executor/src/scanoperator.c
source/libs/executor/src/scanoperator.c
+1
-1
source/libs/executor/src/timewindowoperator.c
source/libs/executor/src/timewindowoperator.c
+8
-1
未找到文件。
source/libs/executor/inc/executorimpl.h
浏览文件 @
bccb31ac
...
...
@@ -536,6 +536,7 @@ typedef struct SStreamIntervalOperatorInfo {
SArray
*
pChildren
;
SStreamState
*
pState
;
SWinKey
delKey
;
uint64_t
numOfDatapack
;
}
SStreamIntervalOperatorInfo
;
typedef
struct
SDataGroupInfo
{
...
...
source/libs/executor/src/filloperator.c
浏览文件 @
bccb31ac
...
...
@@ -1146,7 +1146,7 @@ static void doDeleteFillResult(SOperatorInfo* pOperator) {
if
(
delTs
>
nextKey
.
ts
)
{
break
;
}
endTs
=
delTs
;
SWinKey
delKey
=
{.
groupId
=
delGroupId
,
.
ts
=
delTs
};
if
(
delTs
==
nextKey
.
ts
)
{
code
=
streamStateCurNext
(
pOperator
->
pTaskInfo
->
streamInfo
.
pState
,
pCur
);
...
...
@@ -1159,7 +1159,7 @@ static void doDeleteFillResult(SOperatorInfo* pOperator) {
streamStateFreeCur
(
pCur
);
pCur
=
streamStateGetAndCheckCur
(
pOperator
->
pTaskInfo
->
streamInfo
.
pState
,
&
nextKey
);
}
endTs
=
TMAX
(
t
s
,
nextKey
.
ts
-
1
);
endTs
=
TMAX
(
delT
s
,
nextKey
.
ts
-
1
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
break
;
}
...
...
source/libs/executor/src/scanoperator.c
浏览文件 @
bccb31ac
...
...
@@ -1113,7 +1113,7 @@ static STimeWindow getSlidingWindow(TSKEY* startTsCol, TSKEY* endTsCol, uint64_t
if
(
hasGroup
)
{
(
*
pRowIndex
)
+=
1
;
}
else
{
while
((
groupId
==
gpIdCol
[(
*
pRowIndex
)]
&&
startTsCol
[
*
pRowIndex
]
<
endWin
.
ekey
))
{
while
((
groupId
==
gpIdCol
[(
*
pRowIndex
)]
&&
startTsCol
[
*
pRowIndex
]
<
=
endWin
.
ekey
))
{
(
*
pRowIndex
)
+=
1
;
if
((
*
pRowIndex
)
==
pDataBlockInfo
->
rows
)
{
break
;
...
...
source/libs/executor/src/timewindowoperator.c
浏览文件 @
bccb31ac
...
...
@@ -2516,9 +2516,11 @@ static SSDataBlock* doStreamFinalIntervalAgg(SOperatorInfo* pOperator) {
SSDataBlock
*
pBlock
=
downstream
->
fpSet
.
getNextFn
(
downstream
);
if
(
pBlock
==
NULL
)
{
pOperator
->
status
=
OP_RES_TO_RETURN
;
qDebug
(
"%s return data"
,
IS_FINAL_OP
(
pInfo
)
?
"interval final"
:
"interval semi"
);
qDebug
(
"===stream===return data:%s. recv datablock num:%"
PRIu64
,
IS_FINAL_OP
(
pInfo
)
?
"interval final"
:
"interval semi"
,
pInfo
->
numOfDatapack
);
pInfo
->
numOfDatapack
=
0
;
break
;
}
pInfo
->
numOfDatapack
++
;
printDataBlock
(
pBlock
,
IS_FINAL_OP
(
pInfo
)
?
"interval final recv"
:
"interval semi recv"
);
ASSERT
(
pBlock
->
info
.
type
!=
STREAM_INVERT
);
...
...
@@ -2734,6 +2736,7 @@ SOperatorInfo* createStreamFinalIntervalOperatorInfo(SOperatorInfo* downstream,
pInfo
->
pDelWins
=
taosArrayInit
(
4
,
sizeof
(
SWinKey
));
pInfo
->
delKey
.
ts
=
INT64_MAX
;
pInfo
->
delKey
.
groupId
=
0
;
pInfo
->
numOfDatapack
=
0
;
pOperator
->
operatorType
=
pPhyNode
->
type
;
pOperator
->
blocking
=
true
;
...
...
@@ -4700,8 +4703,11 @@ static SSDataBlock* doStreamIntervalAgg(SOperatorInfo* pOperator) {
while
(
1
)
{
SSDataBlock
*
pBlock
=
downstream
->
fpSet
.
getNextFn
(
downstream
);
if
(
pBlock
==
NULL
)
{
qDebug
(
"===stream===return data:single interval. recv datablock num:%"
PRIu64
,
pInfo
->
numOfDatapack
);
pInfo
->
numOfDatapack
=
0
;
break
;
}
pInfo
->
numOfDatapack
++
;
printDataBlock
(
pBlock
,
"single interval recv"
);
if
(
pBlock
->
info
.
type
==
STREAM_DELETE_DATA
||
pBlock
->
info
.
type
==
STREAM_DELETE_RESULT
||
...
...
@@ -4851,6 +4857,7 @@ SOperatorInfo* createStreamIntervalOperatorInfo(SOperatorInfo* downstream, SPhys
pInfo
->
pChildren
=
NULL
;
pInfo
->
delKey
.
ts
=
INT64_MAX
;
pInfo
->
delKey
.
groupId
=
0
;
pInfo
->
numOfDatapack
=
0
;
setOperatorInfo
(
pOperator
,
"StreamIntervalOperator"
,
QUERY_NODE_PHYSICAL_PLAN_STREAM_INTERVAL
,
true
,
OP_NOT_OPENED
,
pInfo
,
pTaskInfo
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录