Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
af3a8756
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1193
Star
22018
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看板
提交
af3a8756
编写于
8月 08, 2023
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: do some refactor.
上级
f8ee0556
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
30 deletion
+31
-30
include/libs/stream/tstream.h
include/libs/stream/tstream.h
+1
-0
source/dnode/mnode/impl/src/mndStream.c
source/dnode/mnode/impl/src/mndStream.c
+2
-30
source/libs/stream/src/streamTask.c
source/libs/stream/src/streamTask.c
+28
-0
未找到文件。
include/libs/stream/tstream.h
浏览文件 @
af3a8756
...
...
@@ -623,6 +623,7 @@ int32_t streamTaskDoCheckDownstreamTasks(SStreamTask* pTask);
int32_t
streamTaskLaunchScanHistory
(
SStreamTask
*
pTask
);
int32_t
streamTaskCheckStatus
(
SStreamTask
*
pTask
,
int32_t
stage
);
int32_t
streamTaskRestart
(
SStreamTask
*
pTask
,
const
char
*
pDir
);
int32_t
streamTaskUpdateEpInfo
(
SArray
*
pTaskList
,
int32_t
nodeId
,
SEpSet
*
pEpSet
);
int32_t
streamTaskStop
(
SStreamTask
*
pTask
);
int32_t
streamSendCheckRsp
(
const
SStreamMeta
*
pMeta
,
const
SStreamTaskCheckReq
*
pReq
,
SStreamTaskCheckRsp
*
pRsp
,
SRpcHandleInfo
*
pRpcInfo
,
int32_t
taskId
);
...
...
source/dnode/mnode/impl/src/mndStream.c
浏览文件 @
af3a8756
...
...
@@ -1845,35 +1845,6 @@ static int32_t createStreamUpdateTrans(SMnode *pMnode, SStreamObj *pStream, int3
return
mndPersistTransLog
(
pStream
,
pTrans
);
}
static
int32_t
updateTaskEpInfo
(
SStreamObj
*
pStream
,
int32_t
nodeId
,
SEpSet
*
pEpSet
)
{
int32_t
numOfLevels
=
taosArrayGetSize
(
pStream
->
tasks
);
for
(
int32_t
j
=
0
;
j
<
numOfLevels
;
++
j
)
{
SArray
*
pLevel
=
taosArrayGetP
(
pStream
->
tasks
,
j
);
int32_t
numOfTasks
=
taosArrayGetSize
(
pLevel
);
for
(
int32_t
k
=
0
;
k
<
numOfTasks
;
++
k
)
{
SStreamTask
*
pTask
=
taosArrayGetP
(
pLevel
,
k
);
if
(
pTask
->
info
.
nodeId
==
nodeId
)
{
pTask
->
info
.
epSet
=
*
pEpSet
;
continue
;
}
// check for the dispath info and the upstream task info
int32_t
level
=
pTask
->
info
.
taskLevel
;
if
(
level
==
TASK_LEVEL__SOURCE
)
{
streamTaskUpdateDownstreamInfo
(
pTask
,
nodeId
,
pEpSet
);
}
else
if
(
level
==
TASK_LEVEL__AGG
)
{
streamTaskUpdateUpstreamInfo
(
pTask
,
nodeId
,
pEpSet
);
streamTaskUpdateDownstreamInfo
(
pTask
,
nodeId
,
pEpSet
);
}
else
{
// TASK_LEVEL__SINK
streamTaskUpdateUpstreamInfo
(
pTask
,
nodeId
,
pEpSet
);
}
}
}
return
0
;
}
// todo: this process should be executed by the write queue worker of the mnode
int32_t
mndProcessStreamHb
(
SRpcMsg
*
pReq
)
{
SMnode
*
pMnode
=
pReq
->
info
.
node
;
...
...
@@ -1944,7 +1915,8 @@ int32_t mndProcessStreamHb(SRpcMsg *pReq) {
// update the related upstream and downstream tasks, todo remove this, no need this function
taosWLockLatch
(
&
pStream
->
lock
);
updateTaskEpInfo
(
pStream
,
req
.
vgId
,
&
req
.
epset
);
streamTaskUpdateEpInfo
(
pStream
->
tasks
,
req
.
vgId
,
&
req
.
epset
);
streamTaskUpdateEpInfo
(
pStream
->
pHTasksList
,
req
.
vgId
,
&
req
.
epset
);
taosWUnLockLatch
(
&
pStream
->
lock
);
code
=
createStreamUpdateTrans
(
pMnode
,
pStream
,
nodeId
,
&
newEpSet
);
...
...
source/libs/stream/src/streamTask.c
浏览文件 @
af3a8756
...
...
@@ -481,3 +481,31 @@ int32_t streamTaskRestart(SStreamTask* pTask, const char* pDir) {
return
0
;
}
int32_t
streamTaskUpdateEpInfo
(
SArray
*
pTaskList
,
int32_t
nodeId
,
SEpSet
*
pEpSet
)
{
int32_t
numOfLevels
=
taosArrayGetSize
(
pTaskList
);
for
(
int32_t
j
=
0
;
j
<
numOfLevels
;
++
j
)
{
SArray
*
pLevel
=
taosArrayGetP
(
pTaskList
,
j
);
int32_t
numOfTasks
=
taosArrayGetSize
(
pLevel
);
for
(
int32_t
k
=
0
;
k
<
numOfTasks
;
++
k
)
{
SStreamTask
*
pTask
=
taosArrayGetP
(
pLevel
,
k
);
if
(
pTask
->
info
.
nodeId
==
nodeId
)
{
pTask
->
info
.
epSet
=
*
pEpSet
;
continue
;
}
// check for the dispath info and the upstream task info
int32_t
level
=
pTask
->
info
.
taskLevel
;
if
(
level
==
TASK_LEVEL__SOURCE
)
{
streamTaskUpdateDownstreamInfo
(
pTask
,
nodeId
,
pEpSet
);
}
else
if
(
level
==
TASK_LEVEL__AGG
)
{
streamTaskUpdateUpstreamInfo
(
pTask
,
nodeId
,
pEpSet
);
streamTaskUpdateDownstreamInfo
(
pTask
,
nodeId
,
pEpSet
);
}
else
{
// TASK_LEVEL__SINK
streamTaskUpdateUpstreamInfo
(
pTask
,
nodeId
,
pEpSet
);
}
}
}
return
0
;
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录