Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
7a0ef5b5
T
TDengine
项目概览
taosdata
/
TDengine
接近 2 年 前同步成功
通知
1192
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看板
未验证
提交
7a0ef5b5
编写于
7月 29, 2022
作者:
H
Hongze Cheng
提交者:
GitHub
7月 29, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #15538 from taosdata/fix/hzcheng_3.0
fix: replica 3 coredump
上级
687601bf
def7c8c5
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
47 addition
and
19 deletion
+47
-19
source/client/inc/clientInt.h
source/client/inc/clientInt.h
+3
-3
source/client/src/clientImpl.c
source/client/src/clientImpl.c
+4
-4
source/dnode/vnode/src/tsdb/tsdbMemTable.c
source/dnode/vnode/src/tsdb/tsdbMemTable.c
+2
-1
source/dnode/vnode/src/tsdb/tsdbSnapshot.c
source/dnode/vnode/src/tsdb/tsdbSnapshot.c
+4
-4
source/dnode/vnode/src/vnd/vnodeCommit.c
source/dnode/vnode/src/vnd/vnodeCommit.c
+1
-1
source/dnode/vnode/src/vnd/vnodeSnapshot.c
source/dnode/vnode/src/vnd/vnodeSnapshot.c
+13
-1
source/libs/scheduler/src/schRemote.c
source/libs/scheduler/src/schRemote.c
+20
-5
未找到文件。
source/client/inc/clientInt.h
浏览文件 @
7a0ef5b5
...
...
@@ -225,9 +225,9 @@ typedef struct SRequestObj {
SArray
*
targetTableList
;
SQueryExecMetric
metric
;
SRequestSendRecvBody
body
;
bool
syncQuery
;
// todo refactor: async query object
bool
stableQuery
;
// todo refactor
bool
validateOnly
;
// todo refactor
bool
syncQuery
;
// todo refactor: async query object
bool
stableQuery
;
// todo refactor
bool
validateOnly
;
// todo refactor
bool
killed
;
uint32_t
prevCode
;
// previous error code: todo refactor, add update flag for catalog
uint32_t
retry
;
...
...
source/client/src/clientImpl.c
浏览文件 @
7a0ef5b5
...
...
@@ -591,7 +591,7 @@ int32_t buildAsyncExecNodeList(SRequestObj* pRequest, SArray** pNodeList, SArray
return
code
;
}
void
freeVgList
(
void
*
list
)
{
void
freeVgList
(
void
*
list
)
{
SArray
*
pList
=
*
(
SArray
**
)
list
;
taosArrayDestroy
(
pList
);
}
...
...
@@ -1278,8 +1278,8 @@ int32_t doProcessMsgFromServer(void* param) {
char
tbuf
[
40
]
=
{
0
};
TRACE_TO_STR
(
trace
,
tbuf
);
tscDebug
(
"processMsgFromServer handle %p, message: %s, code: %s, gtid: %s"
,
pMsg
->
info
.
handle
,
TMSG_INFO
(
pMsg
->
msgType
),
tstrerror
(
pMsg
->
code
),
tbuf
);
tscDebug
(
"processMsgFromServer handle %p, message: %s, code: %s, gtid: %s"
,
pMsg
->
info
.
handle
,
TMSG_INFO
(
pMsg
->
msgType
),
tstrerror
(
pMsg
->
code
),
tbuf
);
if
(
pSendInfo
->
requestObjRefId
!=
0
)
{
SRequestObj
*
pRequest
=
(
SRequestObj
*
)
taosAcquireRef
(
clientReqRefPool
,
pSendInfo
->
requestObjRefId
);
...
...
@@ -2114,7 +2114,7 @@ TAOS_RES* taosQueryImpl(TAOS* taos, const char* sql, bool validateOnly) {
return
NULL
;
}
TAOS_RES
*
pRes
=
execQuery
(
connId
,
sql
,
sqlLen
,
validateOnly
);
TAOS_RES
*
pRes
=
execQuery
(
*
(
int64_t
*
)
taos
,
sql
,
sqlLen
,
validateOnly
);
return
pRes
;
#endif
}
source/dnode/vnode/src/tsdb/tsdbMemTable.c
浏览文件 @
7a0ef5b5
...
...
@@ -374,11 +374,12 @@ static int32_t tsdbGetOrCreateTbData(SMemTable *pMemTable, tb_uid_t suid, tb_uid
p
=
taosArrayInsert
(
pMemTable
->
aTbData
,
idx
,
&
pTbData
);
taosWUnLockLatch
(
&
pMemTable
->
latch
);
tsdbDebug
(
"vgId:%d add table data %p at idx:%d"
,
TD_VID
(
pMemTable
->
pTsdb
->
pVnode
),
pTbData
,
idx
);
if
(
p
==
NULL
)
{
code
=
TSDB_CODE_OUT_OF_MEMORY
;
goto
_err
;
}
_exit:
*
ppTbData
=
pTbData
;
return
code
;
...
...
source/dnode/vnode/src/tsdb/tsdbSnapshot.c
浏览文件 @
7a0ef5b5
...
...
@@ -694,8 +694,8 @@ static int32_t tsdbSnapWriteTableDataImpl(STsdbSnapWriter* pWriter) {
if
(
pWriter
->
bDataW
.
nRow
<
pWriter
->
maxRow
*
4
/
5
)
continue
;
_write_block:
code
=
tsdbWriteBlockData
(
pWriter
->
pDataFWriter
,
&
pWriter
->
bDataW
,
NULL
,
NULL
,
pWriter
->
pBlockIdx
,
&
pWriter
->
block
W
,
pWriter
->
cmprAlg
);
code
=
tsdbWriteBlockData
(
pWriter
->
pDataFWriter
,
&
pWriter
->
bDataW
,
NULL
,
NULL
,
pWriter
->
pBlockIdxW
,
&
pWriter
->
blockW
,
pWriter
->
cmprAlg
);
if
(
code
)
goto
_err
;
code
=
tMapDataPutItem
(
&
pWriter
->
mBlockW
,
&
pWriter
->
blockW
,
tPutBlock
);
...
...
@@ -756,7 +756,7 @@ static int32_t tsdbSnapWriteTableData(STsdbSnapWriter* pWriter, TABLEID id) {
if
(
pWriter
->
iBlockIdx
<
taosArrayGetSize
(
pWriter
->
aBlockIdx
))
{
ASSERT
(
pWriter
->
pDataFReader
);
SBlockIdx
*
pBlockIdx
=
(
SBlockIdx
*
)
taosArrayGet
(
pWriter
->
aBlockIdx
,
pWriter
->
iBlock
);
SBlockIdx
*
pBlockIdx
=
(
SBlockIdx
*
)
taosArrayGet
(
pWriter
->
aBlockIdx
,
pWriter
->
iBlock
Idx
);
int32_t
c
=
tTABLEIDCmprFn
(
pBlockIdx
,
&
id
);
ASSERT
(
c
>=
0
);
...
...
@@ -833,7 +833,7 @@ static int32_t tsdbSnapWriteDataEnd(STsdbSnapWriter* pWriter) {
}
_exit:
tsdb
Error
(
"vgId:%d vnode snapshot tsdb writer data end"
,
TD_VID
(
pTsdb
->
pVnode
));
tsdb
Info
(
"vgId:%d vnode snapshot tsdb writer data end"
,
TD_VID
(
pTsdb
->
pVnode
));
return
code
;
_err:
...
...
source/dnode/vnode/src/vnd/vnodeCommit.c
浏览文件 @
7a0ef5b5
...
...
@@ -288,7 +288,7 @@ int vnodeCommit(SVnode *pVnode) {
// apply the commit (TODO)
walEndSnapshot
(
pVnode
->
pWal
);
vInfo
(
"vgId:%d, commit
over
"
,
TD_VID
(
pVnode
));
vInfo
(
"vgId:%d, commit
end
"
,
TD_VID
(
pVnode
));
return
0
;
}
...
...
source/dnode/vnode/src/vnd/vnodeSnapshot.c
浏览文件 @
7a0ef5b5
...
...
@@ -180,6 +180,7 @@ struct SVSnapWriter {
SVnode
*
pVnode
;
int64_t
sver
;
int64_t
ever
;
int64_t
commitID
;
int64_t
index
;
// meta
SMetaSnapWriter
*
pMetaSnapWriter
;
...
...
@@ -201,7 +202,16 @@ int32_t vnodeSnapWriterOpen(SVnode *pVnode, int64_t sver, int64_t ever, SVSnapWr
pWriter
->
sver
=
sver
;
pWriter
->
ever
=
ever
;
vInfo
(
"vgId:%d vnode snapshot writer opened"
,
TD_VID
(
pVnode
));
// commit it
code
=
vnodeCommit
(
pVnode
);
if
(
code
)
goto
_err
;
// inc commit ID
pVnode
->
state
.
commitID
++
;
pWriter
->
commitID
=
pVnode
->
state
.
commitID
;
vInfo
(
"vgId:%d vnode snapshot writer opened, sver:%"
PRId64
" ever:%"
PRId64
" commit id:%"
PRId64
,
TD_VID
(
pVnode
),
sver
,
ever
,
pWriter
->
commitID
);
*
ppWriter
=
pWriter
;
return
code
;
...
...
@@ -244,6 +254,8 @@ int32_t vnodeSnapWriterClose(SVSnapWriter *pWriter, int8_t rollback, SSnapshot *
code
=
vnodeCommitInfo
(
dir
,
&
info
);
if
(
code
)
goto
_err
;
vnodeBegin
(
pVnode
);
}
else
{
ASSERT
(
0
);
}
...
...
source/libs/scheduler/src/schRemote.c
浏览文件 @
7a0ef5b5
...
...
@@ -513,7 +513,7 @@ int32_t schGenerateCallBackInfo(SSchJob *pJob, SSchTask *pTask, void *msg, uint3
SCH_ERR_JRET
(
TSDB_CODE_QRY_OUT_OF_MEMORY
);
}
msgSendInfo
->
paramFreeFp
=
taosMemoryFree
;
msgSendInfo
->
paramFreeFp
=
taosMemoryFree
;
SCH_ERR_JRET
(
schMakeCallbackParam
(
pJob
,
pTask
,
msgType
,
isHb
,
trans
,
&
msgSendInfo
->
param
));
SCH_ERR_JRET
(
schGetCallbackFp
(
msgType
,
&
msgSendInfo
->
fp
));
...
...
@@ -541,7 +541,7 @@ _return:
}
taosMemoryFree
(
msg
);
SCH_RET
(
code
);
}
...
...
@@ -681,7 +681,7 @@ int32_t schMakeHbRpcCtx(SSchJob *pJob, SSchTask *pTask, SRpcCtx *pCtx) {
param
->
pTrans
=
pJob
->
conn
.
pTrans
;
pMsgSendInfo
->
param
=
param
;
pMsgSendInfo
->
paramFreeFp
=
taosMemoryFree
;
pMsgSendInfo
->
paramFreeFp
=
taosMemoryFree
;
pMsgSendInfo
->
fp
=
fp
;
SRpcCtxVal
ctxVal
=
{.
val
=
pMsgSendInfo
,
.
clone
=
schCloneSMsgSendInfo
};
...
...
@@ -801,7 +801,7 @@ int32_t schCloneSMsgSendInfo(void *src, void **dst) {
pDst
->
param
=
NULL
;
SCH_ERR_JRET
(
schCloneCallbackParam
(
pSrc
->
param
,
(
SSchCallbackParamHeader
**
)
&
pDst
->
param
));
pDst
->
paramFreeFp
=
taosMemoryFree
;
pDst
->
paramFreeFp
=
taosMemoryFree
;
*
dst
=
pDst
;
...
...
@@ -1094,14 +1094,29 @@ int32_t schBuildAndSendMsg(SSchJob *pJob, SSchTask *pTask, SQueryNodeAddr *addr,
break
;
}
#if 1
SSchTrans
trans
=
{.
pTrans
=
pJob
->
conn
.
pTrans
,
.
pHandle
=
SCH_GET_TASK_HANDLE
(
pTask
)};
schAsyncSendMsg
(
pJob
,
pTask
,
&
trans
,
addr
,
msgType
,
msg
,
msgSize
,
persistHandle
,
(
rpcCtx
.
args
?
&
rpcCtx
:
NULL
));
msg
=
NULL
;
SCH_ERR_JRET
(
code
);
if
(
msgType
==
TDMT_SCH_QUERY
||
msgType
==
TDMT_SCH_MERGE_QUERY
)
{
SCH_ERR_RET
(
schAppendTaskExecNode
(
pJob
,
pTask
,
addr
,
pTask
->
execId
));
}
#else
if
(
TDMT_VND_SUBMIT
!=
msgType
)
{
SSchTrans
trans
=
{.
pTrans
=
pJob
->
conn
.
pTrans
,
.
pHandle
=
SCH_GET_TASK_HANDLE
(
pTask
)};
schAsyncSendMsg
(
pJob
,
pTask
,
&
trans
,
addr
,
msgType
,
msg
,
msgSize
,
persistHandle
,
(
rpcCtx
.
args
?
&
rpcCtx
:
NULL
));
msg
=
NULL
;
SCH_ERR_JRET
(
code
);
if
(
msgType
==
TDMT_SCH_QUERY
||
msgType
==
TDMT_SCH_MERGE_QUERY
)
{
SCH_ERR_RET
(
schAppendTaskExecNode
(
pJob
,
pTask
,
addr
,
pTask
->
execId
));
}
}
else
{
SCH_ERR_RET
(
schProcessOnTaskSuccess
(
pJob
,
pTask
));
}
#endif
return
TSDB_CODE_SUCCESS
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录