Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
f4ef8dc7
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看板
提交
f4ef8dc7
编写于
12月 12, 2022
作者:
S
slzhou
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'main' of github.com:taosdata/TDengine into szhou/cenc
上级
25029a2e
5f34e6d1
变更
22
显示空白变更内容
内联
并排
Showing
22 changed file
with
63 addition
and
49 deletion
+63
-49
include/util/tqueue.h
include/util/tqueue.h
+2
-1
source/client/src/clientImpl.c
source/client/src/clientImpl.c
+3
-2
source/client/src/clientTmq.c
source/client/src/clientTmq.c
+6
-6
source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
+2
-2
source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
+3
-3
source/dnode/mgmt/mgmt_snode/src/smWorker.c
source/dnode/mgmt/mgmt_snode/src/smWorker.c
+3
-3
source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
+2
-2
source/dnode/mgmt/node_mgmt/src/dmTransport.c
source/dnode/mgmt/node_mgmt/src/dmTransport.c
+2
-2
source/dnode/mnode/impl/src/mndProfile.c
source/dnode/mnode/impl/src/mndProfile.c
+1
-1
source/dnode/vnode/src/sma/smaRollup.c
source/dnode/vnode/src/sma/smaRollup.c
+1
-1
source/dnode/vnode/src/tq/tq.c
source/dnode/vnode/src/tq/tq.c
+2
-2
source/dnode/vnode/src/tsdb/tsdbMergeTree.c
source/dnode/vnode/src/tsdb/tsdbMergeTree.c
+1
-1
source/dnode/vnode/src/tsdb/tsdbRead.c
source/dnode/vnode/src/tsdb/tsdbRead.c
+8
-4
source/libs/executor/src/dataDeleter.c
source/libs/executor/src/dataDeleter.c
+1
-1
source/libs/executor/src/dataDispatcher.c
source/libs/executor/src/dataDispatcher.c
+1
-1
source/libs/executor/src/timesliceoperator.c
source/libs/executor/src/timesliceoperator.c
+5
-1
source/libs/stream/src/stream.c
source/libs/stream/src/stream.c
+3
-3
source/libs/stream/src/streamData.c
source/libs/stream/src/streamData.c
+3
-3
source/libs/stream/src/streamExec.c
source/libs/stream/src/streamExec.c
+2
-2
source/libs/sync/test/sync_test_lib/src/syncIO.c
source/libs/sync/test/sync_test_lib/src/syncIO.c
+3
-3
source/libs/transport/test/svrBench.c
source/libs/transport/test/svrBench.c
+1
-1
source/util/src/tqueue.c
source/util/src/tqueue.c
+8
-4
未找到文件。
include/util/tqueue.h
浏览文件 @
f4ef8dc7
...
...
@@ -65,6 +65,7 @@ typedef struct STaosQnode {
STaosQnode
*
next
;
STaosQueue
*
queue
;
int64_t
timestamp
;
int64_t
dataSize
;
int32_t
size
;
int8_t
itype
;
int8_t
reserved
[
3
];
...
...
@@ -103,7 +104,7 @@ typedef struct STaosQall {
STaosQueue
*
taosOpenQueue
();
void
taosCloseQueue
(
STaosQueue
*
queue
);
void
taosSetQueueFp
(
STaosQueue
*
queue
,
FItem
itemFp
,
FItems
itemsFp
);
void
*
taosAllocateQitem
(
int32_t
size
,
EQItype
itype
);
void
*
taosAllocateQitem
(
int32_t
size
,
EQItype
itype
,
int64_t
dataSize
);
void
taosFreeQitem
(
void
*
pItem
);
void
taosWriteQitem
(
STaosQueue
*
queue
,
void
*
pItem
);
int32_t
taosReadQitem
(
STaosQueue
*
queue
,
void
**
ppItem
);
...
...
source/client/src/clientImpl.c
浏览文件 @
f4ef8dc7
...
...
@@ -190,8 +190,9 @@ int32_t buildRequest(uint64_t connId, const char* sql, int sqlLen, void* param,
(
*
pRequest
)
->
body
.
param
=
param
;
STscObj
*
pTscObj
=
(
*
pRequest
)
->
pTscObj
;
if
(
taosHashPut
(
pTscObj
->
pRequests
,
&
(
*
pRequest
)
->
self
,
sizeof
((
*
pRequest
)
->
self
),
&
(
*
pRequest
)
->
self
,
sizeof
((
*
pRequest
)
->
self
)))
{
int32_t
err
=
taosHashPut
(
pTscObj
->
pRequests
,
&
(
*
pRequest
)
->
self
,
sizeof
((
*
pRequest
)
->
self
),
&
(
*
pRequest
)
->
self
,
sizeof
((
*
pRequest
)
->
self
));
if
(
err
)
{
tscError
(
"%"
PRId64
" failed to add to request container, reqId:0x%"
PRIx64
", conn:%"
PRId64
", %s"
,
(
*
pRequest
)
->
self
,
(
*
pRequest
)
->
requestId
,
pTscObj
->
id
,
sql
);
...
...
source/client/src/clientTmq.c
浏览文件 @
f4ef8dc7
...
...
@@ -691,7 +691,7 @@ void tmqAssignAskEpTask(void* param, void* tmrId) {
int64_t
refId
=
*
(
int64_t
*
)
param
;
tmq_t
*
tmq
=
taosAcquireRef
(
tmqMgmt
.
rsetId
,
refId
);
if
(
tmq
!=
NULL
)
{
int8_t
*
pTaskType
=
taosAllocateQitem
(
sizeof
(
int8_t
),
DEF_QITEM
);
int8_t
*
pTaskType
=
taosAllocateQitem
(
sizeof
(
int8_t
),
DEF_QITEM
,
0
);
*
pTaskType
=
TMQ_DELAYED_TASK__ASK_EP
;
taosWriteQitem
(
tmq
->
delayedTask
,
pTaskType
);
tsem_post
(
&
tmq
->
rspSem
);
...
...
@@ -703,7 +703,7 @@ void tmqAssignDelayedCommitTask(void* param, void* tmrId) {
int64_t
refId
=
*
(
int64_t
*
)
param
;
tmq_t
*
tmq
=
taosAcquireRef
(
tmqMgmt
.
rsetId
,
refId
);
if
(
tmq
!=
NULL
)
{
int8_t
*
pTaskType
=
taosAllocateQitem
(
sizeof
(
int8_t
),
DEF_QITEM
);
int8_t
*
pTaskType
=
taosAllocateQitem
(
sizeof
(
int8_t
),
DEF_QITEM
,
0
);
*
pTaskType
=
TMQ_DELAYED_TASK__COMMIT
;
taosWriteQitem
(
tmq
->
delayedTask
,
pTaskType
);
tsem_post
(
&
tmq
->
rspSem
);
...
...
@@ -715,7 +715,7 @@ void tmqAssignDelayedReportTask(void* param, void* tmrId) {
int64_t
refId
=
*
(
int64_t
*
)
param
;
tmq_t
*
tmq
=
taosAcquireRef
(
tmqMgmt
.
rsetId
,
refId
);
if
(
tmq
!=
NULL
)
{
int8_t
*
pTaskType
=
taosAllocateQitem
(
sizeof
(
int8_t
),
DEF_QITEM
);
int8_t
*
pTaskType
=
taosAllocateQitem
(
sizeof
(
int8_t
),
DEF_QITEM
,
0
);
*
pTaskType
=
TMQ_DELAYED_TASK__REPORT
;
taosWriteQitem
(
tmq
->
delayedTask
,
pTaskType
);
tsem_post
(
&
tmq
->
rspSem
);
...
...
@@ -1171,7 +1171,7 @@ int32_t tmqPollCb(void* param, SDataBuf* pMsg, int32_t code) {
goto
CREATE_MSG_FAIL
;
}
if
(
code
==
TSDB_CODE_TQ_NO_COMMITTED_OFFSET
)
{
SMqPollRspWrapper
*
pRspWrapper
=
taosAllocateQitem
(
sizeof
(
SMqPollRspWrapper
),
DEF_QITEM
);
SMqPollRspWrapper
*
pRspWrapper
=
taosAllocateQitem
(
sizeof
(
SMqPollRspWrapper
),
DEF_QITEM
,
0
);
if
(
pRspWrapper
==
NULL
)
{
tscWarn
(
"msg discard from vgId:%d, epoch %d since out of memory"
,
vgId
,
epoch
);
goto
CREATE_MSG_FAIL
;
...
...
@@ -1204,7 +1204,7 @@ int32_t tmqPollCb(void* param, SDataBuf* pMsg, int32_t code) {
// handle meta rsp
int8_t
rspType
=
((
SMqRspHead
*
)
pMsg
->
pData
)
->
mqMsgType
;
SMqPollRspWrapper
*
pRspWrapper
=
taosAllocateQitem
(
sizeof
(
SMqPollRspWrapper
),
DEF_QITEM
);
SMqPollRspWrapper
*
pRspWrapper
=
taosAllocateQitem
(
sizeof
(
SMqPollRspWrapper
),
DEF_QITEM
,
0
);
if
(
pRspWrapper
==
NULL
)
{
taosMemoryFree
(
pMsg
->
pData
);
taosMemoryFree
(
pMsg
->
pEpSet
);
...
...
@@ -1394,7 +1394,7 @@ int32_t tmqAskEpCb(void* param, SDataBuf* pMsg, int32_t code) {
tmqUpdateEp
(
tmq
,
head
->
epoch
,
&
rsp
);
tDeleteSMqAskEpRsp
(
&
rsp
);
}
else
{
SMqAskEpRspWrapper
*
pWrapper
=
taosAllocateQitem
(
sizeof
(
SMqAskEpRspWrapper
),
DEF_QITEM
);
SMqAskEpRspWrapper
*
pWrapper
=
taosAllocateQitem
(
sizeof
(
SMqAskEpRspWrapper
),
DEF_QITEM
,
0
);
if
(
pWrapper
==
NULL
)
{
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
code
=
-
1
;
...
...
source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
浏览文件 @
f4ef8dc7
...
...
@@ -159,12 +159,12 @@ int32_t mmPutMsgToQueue(SMnodeMgmt *pMgmt, EQueueType qtype, SRpcMsg *pRpc) {
}
if
(
pWorker
==
NULL
)
return
-
1
;
SRpcMsg
*
pMsg
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
RPC_QITEM
);
SRpcMsg
*
pMsg
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
RPC_QITEM
,
pRpc
->
contLen
);
if
(
pMsg
==
NULL
)
return
-
1
;
memcpy
(
pMsg
,
pRpc
,
sizeof
(
SRpcMsg
));
pRpc
->
pCont
=
NULL
;
dTrace
(
"msg:%p, is created and will put into %s queue, type:%s
"
,
pMsg
,
pWorker
->
name
,
TMSG_INFO
(
pRpc
->
msgType
)
);
dTrace
(
"msg:%p, is created and will put into %s queue, type:%s
len:%d"
,
pMsg
,
pWorker
->
name
,
TMSG_INFO
(
pRpc
->
msgType
),
pRpc
->
contLen
);
int32_t
code
=
mmPutMsgToWorker
(
pMgmt
,
pWorker
,
pMsg
);
if
(
code
!=
0
)
{
dTrace
(
"msg:%p, is freed"
,
pMsg
);
...
...
source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
浏览文件 @
f4ef8dc7
...
...
@@ -58,19 +58,19 @@ int32_t qmPutNodeMsgToFetchQueue(SQnodeMgmt *pMgmt, SRpcMsg *pMsg) {
}
int32_t
qmPutRpcMsgToQueue
(
SQnodeMgmt
*
pMgmt
,
EQueueType
qtype
,
SRpcMsg
*
pRpc
)
{
SRpcMsg
*
pMsg
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
RPC_QITEM
);
SRpcMsg
*
pMsg
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
RPC_QITEM
,
pRpc
->
contLen
);
if
(
pMsg
==
NULL
)
return
-
1
;
memcpy
(
pMsg
,
pRpc
,
sizeof
(
SRpcMsg
));
pRpc
->
pCont
=
NULL
;
switch
(
qtype
)
{
case
QUERY_QUEUE
:
dTrace
(
"msg:%p, is created and will put into qnode-query queue
"
,
pMsg
);
dTrace
(
"msg:%p, is created and will put into qnode-query queue
, len:%d"
,
pMsg
,
pRpc
->
contLen
);
taosWriteQitem
(
pMgmt
->
queryWorker
.
queue
,
pMsg
);
return
0
;
case
READ_QUEUE
:
case
FETCH_QUEUE
:
dTrace
(
"msg:%p, is created and will put into qnode-fetch queue
"
,
pMsg
);
dTrace
(
"msg:%p, is created and will put into qnode-fetch queue
, len:%d"
,
pMsg
,
pRpc
->
contLen
);
taosWriteQitem
(
pMgmt
->
fetchWorker
.
queue
,
pMsg
);
return
0
;
default:
...
...
source/dnode/mgmt/mgmt_snode/src/smWorker.c
浏览文件 @
f4ef8dc7
...
...
@@ -130,7 +130,7 @@ void smStopWorker(SSnodeMgmt *pMgmt) {
}
int32_t
smPutMsgToQueue
(
SSnodeMgmt
*
pMgmt
,
EQueueType
qtype
,
SRpcMsg
*
pRpc
)
{
SRpcMsg
*
pMsg
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
RPC_QITEM
);
SRpcMsg
*
pMsg
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
RPC_QITEM
,
pRpc
->
contLen
);
if
(
pMsg
==
NULL
)
{
rpcFreeCont
(
pRpc
->
pCont
);
pRpc
->
pCont
=
NULL
;
...
...
@@ -139,8 +139,8 @@ int32_t smPutMsgToQueue(SSnodeMgmt *pMgmt, EQueueType qtype, SRpcMsg *pRpc) {
SSnode
*
pSnode
=
pMgmt
->
pSnode
;
if
(
pSnode
==
NULL
)
{
dError
(
"msg:%p failed to put into snode queue since %s, type:%s qtype:%d"
,
pMsg
,
terrstr
(),
TMSG_INFO
(
pMsg
->
msgType
),
qtype
);
dError
(
"msg:%p failed to put into snode queue since %s, type:%s qtype:%d
len:%d
"
,
pMsg
,
terrstr
(),
TMSG_INFO
(
pMsg
->
msgType
),
qtype
,
pRpc
->
contLen
);
taosFreeQitem
(
pMsg
);
rpcFreeCont
(
pRpc
->
pCont
);
pRpc
->
pCont
=
NULL
;
...
...
source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
浏览文件 @
f4ef8dc7
...
...
@@ -233,7 +233,7 @@ int32_t vmPutMsgToMgmtQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) {
}
int32_t
vmPutRpcMsgToQueue
(
SVnodeMgmt
*
pMgmt
,
EQueueType
qtype
,
SRpcMsg
*
pRpc
)
{
SRpcMsg
*
pMsg
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
RPC_QITEM
);
SRpcMsg
*
pMsg
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
RPC_QITEM
,
pRpc
->
contLen
);
if
(
pMsg
==
NULL
)
{
rpcFreeCont
(
pRpc
->
pCont
);
pRpc
->
pCont
=
NULL
;
...
...
@@ -241,7 +241,7 @@ int32_t vmPutRpcMsgToQueue(SVnodeMgmt *pMgmt, EQueueType qtype, SRpcMsg *pRpc) {
}
SMsgHead
*
pHead
=
pRpc
->
pCont
;
dTrace
(
"vgId:%d, msg:%p is created, type:%s
"
,
pHead
->
vgId
,
pMsg
,
TMSG_INFO
(
pRpc
->
msgType
)
);
dTrace
(
"vgId:%d, msg:%p is created, type:%s
len:%d"
,
pHead
->
vgId
,
pMsg
,
TMSG_INFO
(
pRpc
->
msgType
),
pRpc
->
contLen
);
pHead
->
contLen
=
htonl
(
pHead
->
contLen
);
pHead
->
vgId
=
htonl
(
pHead
->
vgId
);
...
...
source/dnode/mgmt/node_mgmt/src/dmTransport.c
浏览文件 @
f4ef8dc7
...
...
@@ -141,11 +141,11 @@ static void dmProcessRpcMsg(SDnode *pDnode, SRpcMsg *pRpc, SEpSet *pEpSet) {
}
pRpc
->
info
.
wrapper
=
pWrapper
;
pMsg
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
RPC_QITEM
);
pMsg
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
RPC_QITEM
,
pRpc
->
contLen
);
if
(
pMsg
==
NULL
)
goto
_OVER
;
memcpy
(
pMsg
,
pRpc
,
sizeof
(
SRpcMsg
));
dGTrace
(
"msg:%p, is created, type:%s handle:%p
"
,
pMsg
,
TMSG_INFO
(
pRpc
->
msgType
),
pMsg
->
info
.
handle
);
dGTrace
(
"msg:%p, is created, type:%s handle:%p
len:%d"
,
pMsg
,
TMSG_INFO
(
pRpc
->
msgType
),
pMsg
->
info
.
handle
,
pRpc
->
contLen
);
code
=
dmProcessNodeMsg
(
pWrapper
,
pMsg
);
...
...
source/dnode/mnode/impl/src/mndProfile.c
浏览文件 @
f4ef8dc7
...
...
@@ -769,7 +769,7 @@ static int32_t mndRetrieveQueries(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *p
}
int32_t
numOfQueries
=
taosArrayGetSize
(
pConn
->
pQueries
);
for
(
int32_t
i
=
0
;
i
<
numOfQueries
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
numOfQueries
&&
numOfRows
<
rows
;
++
i
)
{
SQueryDesc
*
pQuery
=
taosArrayGet
(
pConn
->
pQueries
,
i
);
cols
=
0
;
...
...
source/dnode/vnode/src/sma/smaRollup.c
浏览文件 @
f4ef8dc7
...
...
@@ -763,7 +763,7 @@ static int32_t tdExecuteRSmaImplAsync(SSma *pSma, const void *pMsg, int32_t inpu
tb_uid_t
suid
)
{
const
SSubmitReq
*
pReq
=
(
const
SSubmitReq
*
)
pMsg
;
void
*
qItem
=
taosAllocateQitem
(
pReq
->
header
.
contLen
,
DEF_QITEM
);
void
*
qItem
=
taosAllocateQitem
(
pReq
->
header
.
contLen
,
DEF_QITEM
,
0
);
if
(
!
qItem
)
{
return
TSDB_CODE_FAILED
;
}
...
...
source/dnode/vnode/src/tq/tq.c
浏览文件 @
f4ef8dc7
...
...
@@ -1271,7 +1271,7 @@ int32_t tqProcessDelReq(STQ* pTq, void* pReq, int32_t len, int64_t ver) {
qDebug
(
"delete req enqueue stream task: %d, ver: %"
PRId64
,
pTask
->
taskId
,
ver
);
if
(
!
failed
)
{
SStreamRefDataBlock
*
pRefBlock
=
taosAllocateQitem
(
sizeof
(
SStreamRefDataBlock
),
DEF_QITEM
);
SStreamRefDataBlock
*
pRefBlock
=
taosAllocateQitem
(
sizeof
(
SStreamRefDataBlock
),
DEF_QITEM
,
0
);
pRefBlock
->
type
=
STREAM_INPUT__REF_DATA_BLOCK
;
pRefBlock
->
pBlock
=
pDelBlock
;
pRefBlock
->
dataRef
=
pRef
;
...
...
@@ -1303,7 +1303,7 @@ int32_t tqProcessDelReq(STQ* pTq, void* pReq, int32_t len, int64_t ver) {
}
#if 0
SStreamDataBlock* pStreamBlock = taosAllocateQitem(sizeof(SStreamDataBlock), DEF_QITEM);
SStreamDataBlock* pStreamBlock = taosAllocateQitem(sizeof(SStreamDataBlock), DEF_QITEM
, 0
);
pStreamBlock->type = STREAM_INPUT__DATA_BLOCK;
pStreamBlock->blocks = taosArrayInit(0, sizeof(SSDataBlock));
SSDataBlock block = {0};
...
...
source/dnode/vnode/src/tsdb/tsdbMergeTree.c
浏览文件 @
f4ef8dc7
...
...
@@ -121,7 +121,7 @@ static SBlockData *loadLastBlock(SLDataIter *pIter, const char *idStr) {
return
&
pInfo
->
blockData
[
1
];
}
if
(
pIter
->
pSttBlk
==
NULL
)
{
if
(
pIter
->
pSttBlk
==
NULL
||
pInfo
->
pSchema
==
NULL
)
{
return
NULL
;
}
...
...
source/dnode/vnode/src/tsdb/tsdbRead.c
浏览文件 @
f4ef8dc7
...
...
@@ -2790,6 +2790,7 @@ static int32_t doLoadLastBlockSequentially(STsdbReader* pReader) {
while
(
1
)
{
// load the last data block of current table
STableBlockScanInfo
*
pScanInfo
=
*
(
STableBlockScanInfo
**
)
pStatus
->
pTableIter
;
bool
hasVal
=
initLastBlockReader
(
pLastBlockReader
,
pScanInfo
,
pReader
);
if
(
!
hasVal
)
{
bool
hasNexTable
=
moveToNextTable
(
pOrderedCheckInfo
,
pStatus
);
...
...
@@ -3823,6 +3824,8 @@ int32_t tsdbReaderOpen(SVnode* pVnode, SQueryTableDataCond* pCond, void* pTableL
}
// NOTE: the endVersion in pCond is the data version not schema version, so pCond->endVersion is not correct here.
// no valid error code set in metaGetTbTSchema, so let's set the error code here.
// we should proceed in case of tmq processing.
if
(
pCond
->
suid
!=
0
)
{
pReader
->
pSchema
=
metaGetTbTSchema
(
pReader
->
pTsdb
->
pVnode
->
pMeta
,
pReader
->
suid
,
-
1
,
1
);
if
(
pReader
->
pSchema
==
NULL
)
{
...
...
@@ -3840,7 +3843,7 @@ int32_t tsdbReaderOpen(SVnode* pVnode, SQueryTableDataCond* pCond, void* pTableL
updateBlockSMAInfo
(
pReader
->
pSchema
,
&
pReader
->
suppInfo
);
}
STsdbReader
*
p
=
(
pReader
->
innerReader
[
0
]
!=
NULL
)
?
pReader
->
innerReader
[
0
]
:
pReader
;
STsdbReader
*
p
=
(
pReader
->
innerReader
[
0
]
!=
NULL
)
?
pReader
->
innerReader
[
0
]
:
pReader
;
pReader
->
status
.
pTableMap
=
createDataBlockScanInfo
(
p
,
&
pReader
->
blockInfoBuf
,
pTableList
,
numOfTables
);
if
(
pReader
->
status
.
pTableMap
==
NULL
)
{
tsdbReaderClose
(
p
);
...
...
@@ -3888,10 +3891,11 @@ int32_t tsdbReaderOpen(SVnode* pVnode, SQueryTableDataCond* pCond, void* pTableL
tsdbDebug
(
"%p total numOfTable:%d in this query %s"
,
pReader
,
numOfTables
,
pReader
->
idStr
);
return
code
;
_err:
_err:
tsdbError
(
"failed to create data reader, code:%s %s"
,
tstrerror
(
code
),
idstr
);
tsdbReaderClose
(
pReader
);
return
code
;
}
}
void
tsdbReaderClose
(
STsdbReader
*
pReader
)
{
if
(
pReader
==
NULL
)
{
...
...
source/libs/executor/src/dataDeleter.c
浏览文件 @
f4ef8dc7
...
...
@@ -133,7 +133,7 @@ static int32_t getStatus(SDataDeleterHandle* pDeleter) {
static
int32_t
putDataBlock
(
SDataSinkHandle
*
pHandle
,
const
SInputData
*
pInput
,
bool
*
pContinue
)
{
SDataDeleterHandle
*
pDeleter
=
(
SDataDeleterHandle
*
)
pHandle
;
SDataDeleterBuf
*
pBuf
=
taosAllocateQitem
(
sizeof
(
SDataDeleterBuf
),
DEF_QITEM
);
SDataDeleterBuf
*
pBuf
=
taosAllocateQitem
(
sizeof
(
SDataDeleterBuf
),
DEF_QITEM
,
0
);
if
(
NULL
==
pBuf
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
...
...
source/libs/executor/src/dataDispatcher.c
浏览文件 @
f4ef8dc7
...
...
@@ -126,7 +126,7 @@ static int32_t getStatus(SDataDispatchHandle* pDispatcher) {
static
int32_t
putDataBlock
(
SDataSinkHandle
*
pHandle
,
const
SInputData
*
pInput
,
bool
*
pContinue
)
{
SDataDispatchHandle
*
pDispatcher
=
(
SDataDispatchHandle
*
)
pHandle
;
SDataDispatchBuf
*
pBuf
=
taosAllocateQitem
(
sizeof
(
SDataDispatchBuf
),
DEF_QITEM
);
SDataDispatchBuf
*
pBuf
=
taosAllocateQitem
(
sizeof
(
SDataDispatchBuf
),
DEF_QITEM
,
0
);
if
(
NULL
==
pBuf
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
...
...
source/libs/executor/src/timesliceoperator.c
浏览文件 @
f4ef8dc7
...
...
@@ -91,11 +91,15 @@ static void doKeepLinearInfo(STimeSliceOperatorInfo* pSliceInfo, const SSDataBlo
SColumnInfoData
*
pTsCol
=
taosArrayGet
(
pBlock
->
pDataBlock
,
pSliceInfo
->
tsCol
.
slotId
);
SFillLinearInfo
*
pLinearInfo
=
taosArrayGet
(
pSliceInfo
->
pLinearInfo
,
i
);
if
(
!
IS_MATHABLE_TYPE
(
pColInfoData
->
info
.
type
))
{
continue
;
}
// null value is represented by using key = INT64_MIN for now.
// TODO: optimize to ignore null values for linear interpolation.
if
(
!
pLinearInfo
->
isStartSet
)
{
if
(
!
colDataIsNull_s
(
pColInfoData
,
rowIndex
))
{
ASSERT
(
IS_MATHABLE_TYPE
(
pColInfoData
->
info
.
type
));
pLinearInfo
->
start
.
key
=
*
(
int64_t
*
)
colDataGetData
(
pTsCol
,
rowIndex
);
char
*
p
=
colDataGetData
(
pColInfoData
,
rowIndex
);
...
...
source/libs/stream/src/stream.c
浏览文件 @
f4ef8dc7
...
...
@@ -56,7 +56,7 @@ void streamSchedByTimer(void* param, void* tmrId) {
}
if
(
atomic_load_8
(
&
pTask
->
triggerStatus
)
==
TASK_TRIGGER_STATUS__ACTIVE
)
{
SStreamTrigger
*
trigger
=
taosAllocateQitem
(
sizeof
(
SStreamTrigger
),
DEF_QITEM
);
SStreamTrigger
*
trigger
=
taosAllocateQitem
(
sizeof
(
SStreamTrigger
),
DEF_QITEM
,
0
);
if
(
trigger
==
NULL
)
return
;
trigger
->
type
=
STREAM_INPUT__GET_RES
;
trigger
->
pBlock
=
taosMemoryCalloc
(
1
,
sizeof
(
SSDataBlock
));
...
...
@@ -112,7 +112,7 @@ int32_t streamSchedExec(SStreamTask* pTask) {
}
int32_t
streamTaskEnqueue
(
SStreamTask
*
pTask
,
const
SStreamDispatchReq
*
pReq
,
SRpcMsg
*
pRsp
)
{
SStreamDataBlock
*
pData
=
taosAllocateQitem
(
sizeof
(
SStreamDataBlock
),
DEF_QITEM
);
SStreamDataBlock
*
pData
=
taosAllocateQitem
(
sizeof
(
SStreamDataBlock
),
DEF_QITEM
,
0
);
int8_t
status
;
// enqueue
...
...
@@ -150,7 +150,7 @@ int32_t streamTaskEnqueue(SStreamTask* pTask, const SStreamDispatchReq* pReq, SR
}
int32_t
streamTaskEnqueueRetrieve
(
SStreamTask
*
pTask
,
SStreamRetrieveReq
*
pReq
,
SRpcMsg
*
pRsp
)
{
SStreamDataBlock
*
pData
=
taosAllocateQitem
(
sizeof
(
SStreamDataBlock
),
DEF_QITEM
);
SStreamDataBlock
*
pData
=
taosAllocateQitem
(
sizeof
(
SStreamDataBlock
),
DEF_QITEM
,
0
);
int8_t
status
=
TASK_INPUT_STATUS__NORMAL
;
// enqueue
...
...
source/libs/stream/src/streamData.c
浏览文件 @
f4ef8dc7
...
...
@@ -67,7 +67,7 @@ int32_t streamRetrieveReqToData(const SStreamRetrieveReq* pReq, SStreamDataBlock
}
SStreamDataSubmit
*
streamDataSubmitNew
(
SSubmitReq
*
pReq
)
{
SStreamDataSubmit
*
pDataSubmit
=
(
SStreamDataSubmit
*
)
taosAllocateQitem
(
sizeof
(
SStreamDataSubmit
),
DEF_QITEM
);
SStreamDataSubmit
*
pDataSubmit
=
(
SStreamDataSubmit
*
)
taosAllocateQitem
(
sizeof
(
SStreamDataSubmit
),
DEF_QITEM
,
0
);
if
(
pDataSubmit
==
NULL
)
return
NULL
;
pDataSubmit
->
dataRef
=
(
int32_t
*
)
taosMemoryMalloc
(
sizeof
(
int32_t
));
if
(
pDataSubmit
->
dataRef
==
NULL
)
goto
FAIL
;
...
...
@@ -81,7 +81,7 @@ FAIL:
}
SStreamMergedSubmit
*
streamMergedSubmitNew
()
{
SStreamMergedSubmit
*
pMerged
=
(
SStreamMergedSubmit
*
)
taosAllocateQitem
(
sizeof
(
SStreamMergedSubmit
),
DEF_QITEM
);
SStreamMergedSubmit
*
pMerged
=
(
SStreamMergedSubmit
*
)
taosAllocateQitem
(
sizeof
(
SStreamMergedSubmit
),
DEF_QITEM
,
0
);
if
(
pMerged
==
NULL
)
return
NULL
;
pMerged
->
reqs
=
taosArrayInit
(
0
,
sizeof
(
void
*
));
pMerged
->
dataRefs
=
taosArrayInit
(
0
,
sizeof
(
void
*
));
...
...
@@ -107,7 +107,7 @@ static FORCE_INLINE void streamDataSubmitRefInc(SStreamDataSubmit* pDataSubmit)
}
SStreamDataSubmit
*
streamSubmitRefClone
(
SStreamDataSubmit
*
pSubmit
)
{
SStreamDataSubmit
*
pSubmitClone
=
taosAllocateQitem
(
sizeof
(
SStreamDataSubmit
),
DEF_QITEM
);
SStreamDataSubmit
*
pSubmitClone
=
taosAllocateQitem
(
sizeof
(
SStreamDataSubmit
),
DEF_QITEM
,
0
);
if
(
pSubmitClone
==
NULL
)
{
return
NULL
;
}
...
...
source/libs/stream/src/streamExec.c
浏览文件 @
f4ef8dc7
...
...
@@ -127,7 +127,7 @@ int32_t streamScanExec(SStreamTask* pTask, int32_t batchSz) {
taosArrayDestroy
(
pRes
);
break
;
}
SStreamDataBlock
*
qRes
=
taosAllocateQitem
(
sizeof
(
SStreamDataBlock
),
DEF_QITEM
);
SStreamDataBlock
*
qRes
=
taosAllocateQitem
(
sizeof
(
SStreamDataBlock
),
DEF_QITEM
,
0
);
if
(
qRes
==
NULL
)
{
taosArrayDestroyEx
(
pRes
,
(
FDelete
)
blockDataFreeRes
);
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
...
...
@@ -235,7 +235,7 @@ int32_t streamExecForAll(SStreamTask* pTask) {
qDebug
(
"stream task %d exec end"
,
pTask
->
taskId
);
if
(
taosArrayGetSize
(
pRes
)
!=
0
)
{
SStreamDataBlock
*
qRes
=
taosAllocateQitem
(
sizeof
(
SStreamDataBlock
),
DEF_QITEM
);
SStreamDataBlock
*
qRes
=
taosAllocateQitem
(
sizeof
(
SStreamDataBlock
),
DEF_QITEM
,
0
);
if
(
qRes
==
NULL
)
{
taosArrayDestroyEx
(
pRes
,
(
FDelete
)
blockDataFreeRes
);
streamFreeQitem
(
input
);
...
...
source/libs/sync/test/sync_test_lib/src/syncIO.c
浏览文件 @
f4ef8dc7
...
...
@@ -97,7 +97,7 @@ int32_t syncIOEqMsg(const SMsgCb *msgcb, SRpcMsg *pMsg) {
syncRpcMsgLog2
(
logBuf
,
pMsg
);
SRpcMsg
*
pTemp
;
pTemp
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
DEF_QITEM
);
pTemp
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
DEF_QITEM
,
0
);
memcpy
(
pTemp
,
pMsg
,
sizeof
(
SRpcMsg
));
STaosQueue
*
pMsgQ
=
gSyncIO
->
pMsgQ
;
...
...
@@ -381,7 +381,7 @@ static void syncIOProcessRequest(void *pParent, SRpcMsg *pMsg, SEpSet *pEpSet) {
syncRpcMsgLog2
((
char
*
)
"==syncIOProcessRequest=="
,
pMsg
);
SSyncIO
*
io
=
pParent
;
SRpcMsg
*
pTemp
;
pTemp
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
DEF_QITEM
);
pTemp
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
DEF_QITEM
,
0
);
memcpy
(
pTemp
,
pMsg
,
sizeof
(
SRpcMsg
));
taosWriteQitem
(
io
->
pMsgQ
,
pTemp
);
}
...
...
@@ -441,7 +441,7 @@ static void syncIOTickQ(void *param, void *tmrId) {
SRpcMsg
rpcMsg
;
syncPingReply2RpcMsg
(
pMsg
,
&
rpcMsg
);
SRpcMsg
*
pTemp
;
pTemp
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
DEF_QITEM
);
pTemp
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
DEF_QITEM
,
0
);
memcpy
(
pTemp
,
&
rpcMsg
,
sizeof
(
SRpcMsg
));
syncRpcMsgLog2
((
char
*
)
"==syncIOTickQ=="
,
&
rpcMsg
);
taosWriteQitem
(
io
->
pMsgQ
,
pTemp
);
...
...
source/libs/transport/test/svrBench.c
浏览文件 @
f4ef8dc7
...
...
@@ -128,7 +128,7 @@ void *processShellMsg(void *arg) {
void
processRequestMsg
(
void
*
pParent
,
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
)
{
SRpcMsg
*
pTemp
;
pTemp
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
DEF_QITEM
);
pTemp
=
taosAllocateQitem
(
sizeof
(
SRpcMsg
),
DEF_QITEM
,
0
);
memcpy
(
pTemp
,
pMsg
,
sizeof
(
SRpcMsg
));
int32_t
idx
=
balance
%
multiQ
->
numOfThread
;
...
...
source/util/src/tqueue.c
浏览文件 @
f4ef8dc7
...
...
@@ -109,20 +109,24 @@ int64_t taosQueueMemorySize(STaosQueue *queue) {
return
memOfItems
;
}
void
*
taosAllocateQitem
(
int32_t
size
,
EQItype
itype
)
{
void
*
taosAllocateQitem
(
int32_t
size
,
EQItype
itype
,
int64_t
dataSize
)
{
STaosQnode
*
pNode
=
taosMemoryCalloc
(
1
,
sizeof
(
STaosQnode
)
+
size
);
if
(
pNode
==
NULL
)
{
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
return
NULL
;
}
pNode
->
dataSize
=
dataSize
;
pNode
->
size
=
size
;
pNode
->
itype
=
itype
;
pNode
->
timestamp
=
taosGetTimestampUs
();
if
(
itype
==
RPC_QITEM
)
{
int64_t
alloced
=
atomic_add_fetch_64
(
&
tsRpcQueueMemoryUsed
,
size
);
int64_t
alloced
=
atomic_add_fetch_64
(
&
tsRpcQueueMemoryUsed
,
size
+
dataSize
);
if
(
alloced
>
tsRpcQueueMemoryAllowed
)
{
uError
(
"failed to alloc qitem, size:%"
PRId64
" alloc:%"
PRId64
" allowed:%"
PRId64
,
size
+
dataSize
,
alloced
,
tsRpcQueueMemoryUsed
);
atomic_sub_fetch_64
(
&
tsRpcQueueMemoryUsed
,
size
+
dataSize
);
taosMemoryFree
(
pNode
);
terrno
=
TSDB_CODE_OUT_OF_RPC_MEMORY_QUEUE
;
return
NULL
;
...
...
@@ -139,8 +143,8 @@ void taosFreeQitem(void *pItem) {
if
(
pItem
==
NULL
)
return
;
STaosQnode
*
pNode
=
(
STaosQnode
*
)((
char
*
)
pItem
-
sizeof
(
STaosQnode
));
if
(
pNode
->
itype
>
0
)
{
int64_t
alloced
=
atomic_sub_fetch_64
(
&
tsRpcQueueMemoryUsed
,
pNode
->
size
);
if
(
pNode
->
itype
==
RPC_QITEM
)
{
int64_t
alloced
=
atomic_sub_fetch_64
(
&
tsRpcQueueMemoryUsed
,
pNode
->
size
+
pNode
->
dataSize
);
uTrace
(
"item:%p, node:%p is freed, alloc:%"
PRId64
,
pItem
,
pNode
,
alloced
);
}
else
{
uTrace
(
"item:%p, node:%p is freed"
,
pItem
,
pNode
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录