Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
30f8c9c7
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看板
提交
30f8c9c7
编写于
7月 11, 2023
作者:
K
kailixu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: more check
上级
7c85f770
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
23 addition
and
21 deletion
+23
-21
include/common/tdatablock.h
include/common/tdatablock.h
+1
-1
source/common/src/tdatablock.c
source/common/src/tdatablock.c
+21
-19
source/dnode/vnode/src/sma/smaRollup.c
source/dnode/vnode/src/sma/smaRollup.c
+1
-1
未找到文件。
include/common/tdatablock.h
浏览文件 @
30f8c9c7
...
...
@@ -244,7 +244,7 @@ const char* blockDecode(SSDataBlock* pBlock, const char* pData);
char
*
dumpBlockData
(
SSDataBlock
*
pDataBlock
,
const
char
*
flag
,
char
**
dumpBuf
);
int32_t
buildSubmitReqFromDataBlock
(
SSubmitReq2
**
pReq
,
const
SSDataBlock
*
pDataBlocks
,
const
STSchema
*
pTSchema
,
int64_t
uid
,
int32_t
vgId
,
tb_uid_t
suid
,
int64_t
blkVer
,
const
char
*
tag
);
tb_uid_t
suid
,
int64_t
blkVer
,
int8_t
level
,
const
char
*
tag
);
char
*
buildCtbNameByGroupId
(
const
char
*
stbName
,
uint64_t
groupId
);
int32_t
buildCtbNameByGroupIdImpl
(
const
char
*
stbName
,
uint64_t
groupId
,
char
*
pBuf
);
...
...
source/common/src/tdatablock.c
浏览文件 @
30f8c9c7
...
...
@@ -1876,27 +1876,28 @@ static SHashObj* dupCheck = NULL;
static
int8_t
dupInit
=
0
;
int32_t
buildSubmitReqFromDataBlock
(
SSubmitReq2
**
ppReq
,
const
SSDataBlock
*
pDataBlock
,
const
STSchema
*
pTSchema
,
int64_t
uid
,
int32_t
vgId
,
tb_uid_t
suid
,
int64_t
blkVer
,
const
char
*
tag
)
{
int64_t
uid
,
int32_t
vgId
,
tb_uid_t
suid
,
int64_t
blkVer
,
int8_t
level
,
const
char
*
tag
)
{
SSubmitReq2
*
pReq
=
*
ppReq
;
SArray
*
pVals
=
NULL
;
int32_t
numOfBlks
=
0
;
int32_t
sz
=
1
;
if
(
!
dupCheck
)
{
if
(
0
==
atomic_val_compare_exchange_8
(
&
dupInit
,
0
,
1
))
{
dupCheck
=
taosHashInit
(
32
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_BINARY
),
false
,
HASH_ENTRY_LOCK
);
if
(
!
dupCheck
)
ASSERT
(
0
);
}
else
{
int32_t
cnt
=
0
;
while
(
!
dupCheck
)
{
++
cnt
;
if
(
cnt
>
1000
)
{
sched_yield
();
cnt
=
0
;
}
}
}
}
//
if (!dupCheck) {
//
if (0 == atomic_val_compare_exchange_8(&dupInit, 0, 1)) {
//
dupCheck = taosHashInit(32, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_ENTRY_LOCK);
//
if (!dupCheck) ASSERT(0);
//
} else {
//
int32_t cnt = 0;
//
while (!dupCheck) {
//
++cnt;
//
if (cnt > 1000) {
//
sched_yield();
//
cnt = 0;
//
}
//
}
//
}
//
}
terrno
=
TSDB_CODE_SUCCESS
;
...
...
@@ -1911,7 +1912,7 @@ int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock* pDat
}
}
char
dupKey
[
5
0
];
char
dupKey
[
7
0
];
for
(
int32_t
i
=
0
;
i
<
sz
;
++
i
)
{
int32_t
colNum
=
taosArrayGetSize
(
pDataBlock
->
pDataBlock
);
...
...
@@ -1957,10 +1958,11 @@ int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock* pDat
ASSERT
(
PRIMARYKEY_TIMESTAMP_COL_ID
==
pCol
->
colId
);
SColVal
cv
=
COL_VAL_VALUE
(
pCol
->
colId
,
pCol
->
type
,
(
SValue
){.
val
=
*
(
TSKEY
*
)
var
});
taosArrayPush
(
pVals
,
&
cv
);
snprintf
(
dupKey
,
50
,
"%d:%"
PRIi64
":%"
PRIi64
,
vgId
,
*
(
TSKEY
*
)
var
,
blkVer
);
snprintf
(
dupKey
,
70
,
"%"
PRIi8
":%d:%"
PRIi64
":%"
PRIi64
":%"
PRIi64
,
level
,
vgId
,
uid
,
*
(
TSKEY
*
)
var
,
blkVer
);
uInfo
(
"%s:%d key:ver: %s, tags: %s"
,
__func__
,
__LINE__
,
dupKey
,
tag
);
int32_t
dupKeyLen
=
strlen
(
dupKey
);
assert
(
dupKeyLen
<
5
0
);
assert
(
dupKeyLen
<
7
0
);
void
*
hashKey
=
NULL
;
if
((
hashKey
=
taosHashGet
(
dupCheck
,
&
dupKey
,
dupKeyLen
+
1
)))
{
ASSERT
(
0
);
...
...
source/dnode/vnode/src/sma/smaRollup.c
浏览文件 @
30f8c9c7
...
...
@@ -621,7 +621,7 @@ static int32_t tdRSmaExecAndSubmitResult(SSma *pSma, qTaskInfo_t taskInfo, SRSma
// TODO: the schema update should be handled later(TD-17965)
if
(
buildSubmitReqFromDataBlock
(
&
pReq
,
output
,
pTSchema
,
output
->
info
.
id
.
groupId
,
SMA_VID
(
pSma
),
suid
,
output
->
info
.
version
,
tag
)
<
0
)
{
output
->
info
.
version
,
pItem
->
level
,
tag
)
<
0
)
{
code
=
terrno
?
terrno
:
TSDB_CODE_RSMA_RESULT
;
TSDB_CHECK_CODE
(
code
,
lino
,
_exit
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录