Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
74a253ea
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
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看板
提交
74a253ea
编写于
12月 08, 2022
作者:
L
Liu Jicong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor
上级
2c13c8b3
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
42 addition
and
36 deletion
+42
-36
include/common/tmsg.h
include/common/tmsg.h
+9
-4
include/libs/executor/executor.h
include/libs/executor/executor.h
+1
-1
include/libs/stream/tstream.h
include/libs/stream/tstream.h
+5
-5
source/dnode/vnode/inc/vnode.h
source/dnode/vnode/inc/vnode.h
+2
-2
source/dnode/vnode/src/inc/tq.h
source/dnode/vnode/src/inc/tq.h
+1
-1
source/dnode/vnode/src/inc/vnodeInt.h
source/dnode/vnode/src/inc/vnodeInt.h
+1
-1
source/dnode/vnode/src/tq/tq.c
source/dnode/vnode/src/tq/tq.c
+2
-2
source/dnode/vnode/src/tq/tqExec.c
source/dnode/vnode/src/tq/tqExec.c
+1
-1
source/dnode/vnode/src/tq/tqPush.c
source/dnode/vnode/src/tq/tqPush.c
+2
-2
source/libs/executor/inc/executorimpl.h
source/libs/executor/inc/executorimpl.h
+1
-1
source/libs/executor/src/executor.c
source/libs/executor/src/executor.c
+5
-5
source/libs/executor/src/scanoperator.c
source/libs/executor/src/scanoperator.c
+9
-8
source/libs/stream/src/streamData.c
source/libs/stream/src/streamData.c
+3
-3
未找到文件。
include/common/tmsg.h
浏览文件 @
74a253ea
...
...
@@ -3274,10 +3274,15 @@ void tDestroySSubmitRsp2(SSubmitRsp2* pRsp, int32_t flag);
#define TSDB_MSG_FLG_DECODE 0x2
typedef
struct
{
void
*
msgStr
;
int32_t
msgLen
;
int64_t
ver
;
}
SPackedSubmit
;
union
{
struct
{
void
*
msgStr
;
int32_t
msgLen
;
int64_t
ver
;
};
void
*
pDataBlock
;
};
}
SPackedData
;
#pragma pack(pop)
...
...
include/libs/executor/executor.h
浏览文件 @
74a253ea
...
...
@@ -192,7 +192,7 @@ int32_t qStreamPrepareScan(qTaskInfo_t tinfo, STqOffsetVal* pOffset, int8_t subT
// int32_t qStreamScanMemData(qTaskInfo_t tinfo, const SSubmitReq* pReq, int64_t ver);
//
int32_t
qStreamSetScanMemData
(
qTaskInfo_t
tinfo
,
SPacked
Submit
submit
);
int32_t
qStreamSetScanMemData
(
qTaskInfo_t
tinfo
,
SPacked
Data
submit
);
int32_t
qStreamExtractOffset
(
qTaskInfo_t
tinfo
,
STqOffsetVal
*
pOffset
);
...
...
include/libs/stream/tstream.h
浏览文件 @
74a253ea
...
...
@@ -120,10 +120,10 @@ typedef struct {
#endif
typedef
struct
{
int8_t
type
;
int64_t
ver
;
int32_t
*
dataRef
;
SPacked
Submit
submit
;
int8_t
type
;
int64_t
ver
;
int32_t
*
dataRef
;
SPacked
Data
submit
;
}
SStreamDataSubmit2
;
typedef
struct
{
...
...
@@ -235,7 +235,7 @@ static FORCE_INLINE void* streamQueueNextItem(SStreamQueue* queue) {
}
}
SStreamDataSubmit2
*
streamDataSubmitNew
(
SPacked
Submit
submit
);
SStreamDataSubmit2
*
streamDataSubmitNew
(
SPacked
Data
submit
);
void
streamDataSubmitRefDec
(
SStreamDataSubmit2
*
pDataSubmit
);
...
...
source/dnode/vnode/inc/vnode.h
浏览文件 @
74a253ea
...
...
@@ -226,8 +226,8 @@ typedef struct STqReader {
// SSubmitMsgIter msgIter;
// SSubmitBlkIter blkIter;
int64_t
ver
;
SPacked
Submit
msg2
;
int64_t
ver
;
SPacked
Data
msg2
;
int8_t
setMsg
;
SSubmitReq2
submit
;
...
...
source/dnode/vnode/src/inc/tq.h
浏览文件 @
74a253ea
...
...
@@ -153,7 +153,7 @@ int32_t tqScanData(STQ* pTq, const STqHandle* pHandle, SMqDataRsp* pRsp, STqOffs
int64_t
tqFetchLog
(
STQ
*
pTq
,
STqHandle
*
pHandle
,
int64_t
*
fetchOffset
,
SWalCkHead
**
pHeadWithCkSum
);
// tqExec
int32_t
tqTaosxScanLog
(
STQ
*
pTq
,
STqHandle
*
pHandle
,
SPacked
Submit
submit
,
STaosxRsp
*
pRsp
);
int32_t
tqTaosxScanLog
(
STQ
*
pTq
,
STqHandle
*
pHandle
,
SPacked
Data
submit
,
STaosxRsp
*
pRsp
);
// int32_t tqTaosxScanLog(STQ* pTq, STqHandle* pHandle, SSubmitReq* pReq, STaosxRsp* pRsp);
int32_t
tqAddBlockDataToRsp
(
const
SSDataBlock
*
pBlock
,
SMqDataRsp
*
pRsp
,
int32_t
numOfCols
,
int8_t
precision
);
int32_t
tqSendDataRsp
(
STQ
*
pTq
,
const
SRpcMsg
*
pMsg
,
const
SMqPollReq
*
pReq
,
const
SMqDataRsp
*
pRsp
);
...
...
source/dnode/vnode/src/inc/vnodeInt.h
浏览文件 @
74a253ea
...
...
@@ -180,7 +180,7 @@ int32_t tqProcessTaskDeployReq(STQ* pTq, int64_t version, char* msg, int32_t msg
int32_t
tqProcessTaskDropReq
(
STQ
*
pTq
,
int64_t
version
,
char
*
msg
,
int32_t
msgLen
);
int32_t
tqProcessStreamTaskCheckReq
(
STQ
*
pTq
,
SRpcMsg
*
pMsg
);
int32_t
tqProcessStreamTaskCheckRsp
(
STQ
*
pTq
,
int64_t
version
,
char
*
msg
,
int32_t
msgLen
);
int32_t
tqProcessSubmitReq
(
STQ
*
pTq
,
SPacked
Submit
submit
);
int32_t
tqProcessSubmitReq
(
STQ
*
pTq
,
SPacked
Data
submit
);
int32_t
tqProcessDelReq
(
STQ
*
pTq
,
void
*
pReq
,
int32_t
len
,
int64_t
ver
);
int32_t
tqProcessTaskRunReq
(
STQ
*
pTq
,
SRpcMsg
*
pMsg
);
int32_t
tqProcessTaskDispatchReq
(
STQ
*
pTq
,
SRpcMsg
*
pMsg
,
bool
exec
);
...
...
source/dnode/vnode/src/tq/tq.c
浏览文件 @
74a253ea
...
...
@@ -673,7 +673,7 @@ int32_t tqProcessPollReq(STQ* pTq, SRpcMsg* pMsg) {
req
.
epoch
,
TD_VID
(
pTq
->
pVnode
),
fetchVer
,
pHead
->
msgType
);
if
(
pHead
->
msgType
==
TDMT_VND_SUBMIT
)
{
SPacked
Submit
submit
=
{
SPacked
Data
submit
=
{
.
msgStr
=
POINTER_SHIFT
(
pHead
->
body
,
sizeof
(
SMsgHead
)),
.
msgLen
=
pHead
->
bodyLen
-
sizeof
(
SMsgHead
),
.
ver
=
pHead
->
version
,
...
...
@@ -1332,7 +1332,7 @@ int32_t tqProcessDelReq(STQ* pTq, void* pReq, int32_t len, int64_t ver) {
return
0
;
}
int32_t
tqProcessSubmitReq
(
STQ
*
pTq
,
SPacked
Submit
submit
)
{
int32_t
tqProcessSubmitReq
(
STQ
*
pTq
,
SPacked
Data
submit
)
{
void
*
pIter
=
NULL
;
bool
failed
=
false
;
SStreamDataSubmit2
*
pSubmit
=
NULL
;
...
...
source/dnode/vnode/src/tq/tqExec.c
浏览文件 @
74a253ea
...
...
@@ -215,7 +215,7 @@ int32_t tqScanTaosx(STQ* pTq, const STqHandle* pHandle, STaosxRsp* pRsp, SMqMeta
return
0
;
}
int32_t
tqTaosxScanLog
(
STQ
*
pTq
,
STqHandle
*
pHandle
,
SPacked
Submit
submit
,
STaosxRsp
*
pRsp
)
{
int32_t
tqTaosxScanLog
(
STQ
*
pTq
,
STqHandle
*
pHandle
,
SPacked
Data
submit
,
STaosxRsp
*
pRsp
)
{
STqExecHandle
*
pExec
=
&
pHandle
->
execHandle
;
ASSERT
(
pExec
->
subType
!=
TOPIC_SUB_TYPE__COLUMN
);
...
...
source/dnode/vnode/src/tq/tqPush.c
浏览文件 @
74a253ea
...
...
@@ -258,7 +258,7 @@ int tqPushMsg(STQ* pTq, void* msg, int32_t msgLen, tmsg_t msgType, int64_t ver)
SMqDataRsp
*
pRsp
=
&
pPushEntry
->
dataRsp
;
// prepare scan mem data
SPacked
Submit
submit
=
{
SPacked
Data
submit
=
{
.
msgStr
=
data
,
.
msgLen
=
len
,
.
ver
=
ver
,
...
...
@@ -324,7 +324,7 @@ int tqPushMsg(STQ* pTq, void* msg, int32_t msgLen, tmsg_t msgType, int64_t ver)
return
-
1
;
}
memcpy
(
data
,
pReq
,
len
);
SPacked
Submit
submit
=
{
SPacked
Data
submit
=
{
.
msgStr
=
data
,
.
msgLen
=
len
,
.
ver
=
ver
,
...
...
source/libs/executor/inc/executorimpl.h
浏览文件 @
74a253ea
...
...
@@ -133,7 +133,7 @@ typedef struct {
int64_t
snapshotVer
;
// const SSubmitReq* pReq;
SPacked
Submit
submit
;
SPacked
Data
submit
;
SSchemaWrapper
*
schema
;
char
tbName
[
TSDB_TABLE_NAME_LEN
];
...
...
source/libs/executor/src/executor.c
浏览文件 @
74a253ea
...
...
@@ -115,7 +115,7 @@ static int32_t doSetStreamBlock(SOperatorInfo* pOperator, void* input, size_t nu
if
(
type
==
STREAM_INPUT__MERGED_SUBMIT
)
{
// ASSERT(numOfBlocks > 1);
for
(
int32_t
i
=
0
;
i
<
numOfBlocks
;
i
++
)
{
SPacked
Submit
*
pReq
=
POINTER_SHIFT
(
input
,
i
*
sizeof
(
SPackedSubmit
));
SPacked
Data
*
pReq
=
POINTER_SHIFT
(
input
,
i
*
sizeof
(
SPackedData
));
taosArrayPush
(
pInfo
->
pBlockLists
,
pReq
);
}
pInfo
->
blockType
=
STREAM_INPUT__DATA_SUBMIT
;
...
...
@@ -125,9 +125,9 @@ static int32_t doSetStreamBlock(SOperatorInfo* pOperator, void* input, size_t nu
pInfo
->
blockType
=
STREAM_INPUT__DATA_SUBMIT
;
}
else
if
(
type
==
STREAM_INPUT__DATA_BLOCK
)
{
for
(
int32_t
i
=
0
;
i
<
numOfBlocks
;
++
i
)
{
SSDataBlock
*
pDataBlock
=
&
((
SSDataBlock
*
)
input
)[
i
];
SPacked
Submit
tmp
=
{
.
msgStr
=
pDataBlock
,
SSDataBlock
*
pDataBlock
=
&
((
SSDataBlock
*
)
input
)[
i
];
SPacked
Data
tmp
=
{
.
pDataBlock
=
pDataBlock
,
};
taosArrayPush
(
pInfo
->
pBlockLists
,
&
tmp
);
}
...
...
@@ -1016,7 +1016,7 @@ int32_t qStreamScanMemData(qTaskInfo_t tinfo, const SSubmitReq* pReq, int64_t sc
}
#endif
int32_t
qStreamSetScanMemData
(
qTaskInfo_t
tinfo
,
SPacked
Submit
submit
)
{
int32_t
qStreamSetScanMemData
(
qTaskInfo_t
tinfo
,
SPacked
Data
submit
)
{
SExecTaskInfo
*
pTaskInfo
=
(
SExecTaskInfo
*
)
tinfo
;
ASSERT
(
pTaskInfo
->
execModel
==
OPTR_EXEC_MODEL_QUEUE
);
ASSERT
(
pTaskInfo
->
streamInfo
.
submit
.
msgStr
==
NULL
);
...
...
source/libs/executor/src/scanoperator.c
浏览文件 @
74a253ea
...
...
@@ -1532,10 +1532,10 @@ static SSDataBlock* doQueueScan(SOperatorInfo* pOperator) {
/*const SSubmitReq* pSubmit = pInfo->tqReader->pMsg;*/
/*if (tqReaderSetDataMsg(pInfo->tqReader, pSubmit, 0) < 0) {*/
/*void* msgStr = pTaskInfo->streamInfo.*/
SPacked
Submit
submit
=
pTaskInfo
->
streamInfo
.
submit
;
SPacked
Data
submit
=
pTaskInfo
->
streamInfo
.
submit
;
if
(
tqReaderSetSubmitReq2
(
pInfo
->
tqReader
,
submit
.
msgStr
,
submit
.
msgLen
,
submit
.
ver
)
<
0
)
{
qError
(
"submit msg messed up when initing stream submit block %p"
,
submit
.
msgStr
);
pInfo
->
tqReader
->
msg2
=
(
SPacked
Submit
){
0
};
pInfo
->
tqReader
->
msg2
=
(
SPacked
Data
){
0
};
pInfo
->
tqReader
->
setMsg
=
0
;
ASSERT
(
0
);
}
...
...
@@ -1560,9 +1560,9 @@ static SSDataBlock* doQueueScan(SOperatorInfo* pOperator) {
}
}
pInfo
->
tqReader
->
msg2
=
(
SPacked
Submit
){
0
};
pInfo
->
tqReader
->
msg2
=
(
SPacked
Data
){
0
};
pInfo
->
tqReader
->
setMsg
=
0
;
pTaskInfo
->
streamInfo
.
submit
=
(
SPacked
Submit
){
0
};
pTaskInfo
->
streamInfo
.
submit
=
(
SPacked
Data
){
0
};
return
NULL
;
}
...
...
@@ -1791,7 +1791,8 @@ FETCH_NEXT_BLOCK:
}
int32_t
current
=
pInfo
->
validBlockIndex
++
;
SSDataBlock
*
pBlock
=
taosArrayGetP
(
pInfo
->
pBlockLists
,
current
);
SPackedData
*
pPacked
=
taosArrayGet
(
pInfo
->
pBlockLists
,
current
);
SSDataBlock
*
pBlock
=
pPacked
->
pDataBlock
;
if
(
pBlock
->
info
.
id
.
groupId
&&
pBlock
->
info
.
parTbName
[
0
])
{
streamStatePutParName
(
pTaskInfo
->
streamInfo
.
pState
,
pBlock
->
info
.
id
.
groupId
,
pBlock
->
info
.
parTbName
);
}
...
...
@@ -1928,8 +1929,8 @@ FETCH_NEXT_BLOCK:
return
NULL
;
}
int32_t
current
=
pInfo
->
validBlockIndex
++
;
SPacked
Submit
*
pSubmit
=
taosArrayGet
(
pInfo
->
pBlockLists
,
current
);
int32_t
current
=
pInfo
->
validBlockIndex
++
;
SPacked
Data
*
pSubmit
=
taosArrayGet
(
pInfo
->
pBlockLists
,
current
);
/*if (tqReaderSetDataMsg(pInfo->tqReader, pSubmit, 0) < 0) {*/
if
(
tqReaderSetSubmitReq2
(
pInfo
->
tqReader
,
pSubmit
->
msgStr
,
pSubmit
->
msgLen
,
pSubmit
->
ver
)
<
0
)
{
qError
(
"submit msg messed up when initing stream submit block %p, current %d, total %d"
,
pSubmit
,
current
,
...
...
@@ -2264,7 +2265,7 @@ SOperatorInfo* createStreamScanOperatorInfo(SReadHandle* pHandle, STableScanPhys
}
}
pInfo
->
pBlockLists
=
taosArrayInit
(
4
,
sizeof
(
SPacked
Submit
));
pInfo
->
pBlockLists
=
taosArrayInit
(
4
,
sizeof
(
SPacked
Data
));
if
(
pInfo
->
pBlockLists
==
NULL
)
{
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
goto
_error
;
...
...
source/libs/stream/src/streamData.c
浏览文件 @
74a253ea
...
...
@@ -66,7 +66,7 @@ int32_t streamRetrieveReqToData(const SStreamRetrieveReq* pReq, SStreamDataBlock
return
0
;
}
SStreamDataSubmit2
*
streamDataSubmitNew
(
SPacked
Submit
submit
)
{
SStreamDataSubmit2
*
streamDataSubmitNew
(
SPacked
Data
submit
)
{
SStreamDataSubmit2
*
pDataSubmit
=
(
SStreamDataSubmit2
*
)
taosAllocateQitem
(
sizeof
(
SStreamDataSubmit2
),
DEF_QITEM
);
if
(
pDataSubmit
==
NULL
)
return
NULL
;
pDataSubmit
->
dataRef
=
(
int32_t
*
)
taosMemoryMalloc
(
sizeof
(
int32_t
));
...
...
@@ -83,7 +83,7 @@ FAIL:
SStreamMergedSubmit2
*
streamMergedSubmitNew
()
{
SStreamMergedSubmit2
*
pMerged
=
(
SStreamMergedSubmit2
*
)
taosAllocateQitem
(
sizeof
(
SStreamMergedSubmit2
),
DEF_QITEM
);
if
(
pMerged
==
NULL
)
return
NULL
;
pMerged
->
submits
=
taosArrayInit
(
0
,
sizeof
(
SPacked
Submit
));
pMerged
->
submits
=
taosArrayInit
(
0
,
sizeof
(
SPacked
Data
));
pMerged
->
dataRefs
=
taosArrayInit
(
0
,
sizeof
(
void
*
));
if
(
pMerged
->
dataRefs
==
NULL
||
pMerged
->
submits
==
NULL
)
goto
FAIL
;
pMerged
->
type
=
STREAM_INPUT__MERGED_SUBMIT
;
...
...
@@ -172,7 +172,7 @@ void streamFreeQitem(SStreamQueueItem* data) {
int32_t
ref
=
atomic_sub_fetch_32
(
pRef
,
1
);
ASSERT
(
ref
>=
0
);
if
(
ref
==
0
)
{
SPacked
Submit
*
pSubmit
=
(
SPackedSubmit
*
)
taosArrayGet
(
pMerge
->
submits
,
i
);
SPacked
Data
*
pSubmit
=
(
SPackedData
*
)
taosArrayGet
(
pMerge
->
submits
,
i
);
taosMemoryFree
(
pSubmit
->
msgStr
);
taosMemoryFree
(
pRef
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录