Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
06651ae2
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
06651ae2
编写于
10月 16, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
10月 16, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3880 from taosdata/hotfix/16_query_crash
Hotfix/16 query crash
上级
e88bded2
74ddf041
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
7 deletion
+18
-7
src/system/detail/src/vnodeQueryImpl.c
src/system/detail/src/vnodeQueryImpl.c
+18
-7
未找到文件。
src/system/detail/src/vnodeQueryImpl.c
浏览文件 @
06651ae2
...
...
@@ -1166,7 +1166,13 @@ SCacheBlock *getCacheDataBlock(SMeterObj *pMeterObj, SQueryRuntimeEnv *pRuntimeE
// the commit data points will be ignored
if
(
slot
==
pQuery
->
commitSlot
)
{
assert
(
pQuery
->
commitPoint
>=
0
&&
pQuery
->
commitPoint
<=
pNewBlock
->
numOfPoints
);
assert
(
pQuery
->
commitPoint
>=
0
);
//assert(pQuery->commitPoint < pNewBlock->numOfPoints);// this conditon may not be fullfiled due to import/insert error.
// commit point is not valid, reset value and ignore it
if
(
pQuery
->
commitPoint
>
pNewBlock
->
numOfPoints
)
{
pQuery
->
commitPoint
=
0
;
}
offset
=
pQuery
->
commitPoint
;
numOfPoints
=
pNewBlock
->
numOfPoints
-
offset
;
...
...
@@ -5677,12 +5683,17 @@ static int64_t doScanAllDataBlocks(SQueryRuntimeEnv *pRuntimeEnv) {
int32_t
forwardStep
=
0
;
SBlockInfo
blockInfo
=
getBlockInfo
(
pRuntimeEnv
);
/*int32_t numOfRes = */
doHandleDataBlockImpl
(
pRuntimeEnv
,
&
blockInfo
,
searchFn
,
blockLoadStatus
,
&
forwardStep
);
dTrace
(
"QInfo:%p check data block, brange:%"
PRId64
"-%"
PRId64
", fileId:%d, slot:%d, pos:%d, bstatus:%d, rows:%d, checked:%d"
,
GET_QINFO_ADDR
(
pQuery
),
blockInfo
.
keyFirst
,
blockInfo
.
keyLast
,
pQuery
->
fileId
,
pQuery
->
slot
,
pQuery
->
pos
,
pRuntimeEnv
->
blockStatus
,
blockInfo
.
size
,
forwardStep
);
// ignore empty block
if
(
blockInfo
.
size
>
0
)
{
/*int32_t numOfRes = */
doHandleDataBlockImpl
(
pRuntimeEnv
,
&
blockInfo
,
searchFn
,
blockLoadStatus
,
&
forwardStep
);
dTrace
(
"QInfo:%p check data block, brange:%"
PRId64
"-%"
PRId64
", fileId:%d, slot:%d, pos:%d, bstatus:%d, rows:%d, checked:%d"
,
GET_QINFO_ADDR
(
pQuery
),
blockInfo
.
keyFirst
,
blockInfo
.
keyLast
,
pQuery
->
fileId
,
pQuery
->
slot
,
pQuery
->
pos
,
pRuntimeEnv
->
blockStatus
,
blockInfo
.
size
,
forwardStep
);
}
// save last access position
int32_t
accessPos
=
pQuery
->
pos
+
(
forwardStep
-
1
)
*
step
;
...
...
@@ -7157,7 +7168,7 @@ int32_t getDataBlocksForMeters(STableQuerySupportObj *pSupporter, SQuery *pQuery
}
if
(
compInfo
.
numOfBlocks
<=
0
||
compInfo
.
uid
!=
pMeterDataInfo
[
j
]
->
pMeterObj
->
uid
)
{
clearAllMeterDataBlockInfo
(
pMeterDataInfo
,
j
,
j
+
1
);
clearAllMeterDataBlockInfo
(
pMeterDataInfo
,
j
,
j
+
1
);
continue
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录