Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
9bdd96a6
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看板
提交
9bdd96a6
编写于
9月 13, 2021
作者:
C
Cary Xu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
code optimization
上级
11fb843d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
16 addition
and
20 deletion
+16
-20
src/dnode/src/dnodeSystem.c
src/dnode/src/dnodeSystem.c
+1
-1
src/tsdb/src/tsdbFS.c
src/tsdb/src/tsdbFS.c
+1
-0
src/tsdb/src/tsdbReadImpl.c
src/tsdb/src/tsdbReadImpl.c
+14
-19
未找到文件。
src/dnode/src/dnodeSystem.c
浏览文件 @
9bdd96a6
...
...
@@ -43,7 +43,7 @@ int32_t main(int32_t argc, char *argv[]) {
}
else
if
(
strcmp
(
argv
[
i
],
"-C"
)
==
0
)
{
dump_config
=
1
;
}
else
if
(
strcmp
(
argv
[
i
],
"--enable-upgrade-fs"
)
==
0
)
{
tsdbEnableUpgradeFS
=
fals
e
;
tsdbEnableUpgradeFS
=
tru
e
;
}
else
if
(
strcmp
(
argv
[
i
],
"--disable-query-from-sma"
)
==
0
)
{
tsdbQueryFromSMA
=
false
;
}
else
if
(
strcmp
(
argv
[
i
],
"--force-keep-file"
)
==
0
)
{
...
...
src/tsdb/src/tsdbFS.c
浏览文件 @
9bdd96a6
...
...
@@ -1315,6 +1315,7 @@ static int tsdbRestoreDFileSet(STsdbRepo *pRepo) {
}
if
((
fArraySize
=
taosArrayGetSize
(
fArray
))
<=
0
)
{
taosArrayDestroy
(
fArray
);
tsdbInfo
(
"vgId:%d size of DFileSet from %s is %"
PRIu32
,
REPO_ID
(
pRepo
),
dataDir
,
(
uint32_t
)
fArraySize
);
return
0
;
}
...
...
src/tsdb/src/tsdbReadImpl.c
浏览文件 @
9bdd96a6
...
...
@@ -267,11 +267,9 @@ static FORCE_INLINE size_t tsdbSizeOfSBlock(int32_t sBlkVer) {
}
}
static
int
tsdbHeadRefactor
(
SDFile
*
pHeadf
,
SBlockInfo
*
pSrcBlkInfo
,
uint32_t
srcBlkInfoLen
,
SBlockInfo
**
pDstBlkInfo
,
int32_t
*
dstBlkInfoLen
)
{
static
int
tsdbHeadRefactor
(
SDFile
*
pHeadf
,
SBlockInfo
**
pDstBlkInfo
,
uint32_t
srcBlkInfoLen
,
int32_t
*
dstBlkInfoLen
)
{
int
sBlkVer
=
tsdbGetSBlockVer
(
pHeadf
->
info
.
fver
);
if
(
sBlkVer
==
SBlockVerLatest
)
{
*
pDstBlkInfo
=
pSrcBlkInfo
;
*
dstBlkInfoLen
=
srcBlkInfoLen
;
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -281,20 +279,22 @@ static int tsdbHeadRefactor(SDFile *pHeadf, SBlockInfo *pSrcBlkInfo, uint32_t sr
*
dstBlkInfoLen
=
sizeof
(
SBlockInfo
)
+
nBlks
*
sizeof
(
SBlock
);
if
(
srcBlkInfoLen
==
*
dstBlkInfoLen
)
{
*
pDstBlkInfo
=
pSrcBlkInfo
;
return
TSDB_CODE_SUCCESS
;
}
ASSERT
(
*
dstBlkInfoLen
>=
srcBlkInfoLen
);
if
(
tsdbMakeRoom
((
void
**
)(
pDstBlkInfo
),
*
dstBlkInfoLen
)
<
0
)
return
-
1
;
memset
(
*
pDstBlkInfo
,
0
,
*
dstBlkInfoLen
);
// the blkVer is set to 0
memcpy
(
*
pDstBlkInfo
,
pSrcBlkInfo
,
sizeof
(
SBlockInfo
));
// copy header
SBlockInfo
*
tmpBlkInfo
=
NULL
;
if
(
tsdbMakeRoom
((
void
**
)(
&
tmpBlkInfo
),
*
dstBlkInfoLen
)
<
0
)
return
-
1
;
memset
(
tmpBlkInfo
,
0
,
*
dstBlkInfoLen
);
// the blkVer is set to 0
memcpy
(
tmpBlkInfo
,
*
pDstBlkInfo
,
sizeof
(
SBlockInfo
));
// copy header
for
(
int
i
=
0
;
i
<
nBlks
;
++
i
)
{
memcpy
(
(
*
pDstBlkInfo
)
->
blocks
+
i
,
POINTER_SHIFT
(
pSrcBlkInfo
->
blocks
,
i
*
originBlkSize
),
originBlkSize
);
memcpy
(
tmpBlkInfo
->
blocks
+
i
,
POINTER_SHIFT
((
*
pDstBlkInfo
)
->
blocks
,
i
*
originBlkSize
),
originBlkSize
);
// TODO: update the fields if the SBlock definition changed later
}
taosTZfree
(
pSrcBlkInfo
);
taosTZfree
(
*
pDstBlkInfo
);
*
pDstBlkInfo
=
tmpBlkInfo
;
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -303,7 +303,6 @@ int tsdbLoadBlockInfo(SReadH *pReadh, void **pTarget, int32_t *extendedLen) {
SDFile
*
pHeadf
=
TSDB_READ_HEAD_FILE
(
pReadh
);
SBlockIdx
*
pBlkIdx
=
pReadh
->
pBlkIdx
;
SBlockInfo
*
pBlkInfo
=
NULL
;
if
(
tsdbSeekDFile
(
pHeadf
,
pBlkIdx
->
offset
,
SEEK_SET
)
<
0
)
{
tsdbError
(
"vgId:%d failed to load SBlockInfo part while seek file %s since %s, offset:%u len:%u"
,
...
...
@@ -311,13 +310,12 @@ int tsdbLoadBlockInfo(SReadH *pReadh, void **pTarget, int32_t *extendedLen) {
return
-
1
;
}
if
(
tsdbMakeRoom
((
void
**
)(
&
pBlkInfo
),
pBlkIdx
->
len
)
<
0
)
return
-
1
;
if
(
tsdbMakeRoom
((
void
**
)(
&
p
Readh
->
p
BlkInfo
),
pBlkIdx
->
len
)
<
0
)
return
-
1
;
int64_t
nread
=
tsdbReadDFile
(
pHeadf
,
(
void
*
)
pBlkInfo
,
pBlkIdx
->
len
);
int64_t
nread
=
tsdbReadDFile
(
pHeadf
,
(
void
*
)
(
pReadh
->
pBlkInfo
)
,
pBlkIdx
->
len
);
if
(
nread
<
0
)
{
tsdbError
(
"vgId:%d failed to load SBlockInfo part while read file %s since %s, offset:%u len :%u"
,
TSDB_READ_REPO_ID
(
pReadh
),
TSDB_FILE_FULL_NAME
(
pHeadf
),
tstrerror
(
terrno
),
pBlkIdx
->
offset
,
pBlkIdx
->
len
);
taosTZfree
(
pBlkInfo
);
return
-
1
;
}
...
...
@@ -325,23 +323,20 @@ int tsdbLoadBlockInfo(SReadH *pReadh, void **pTarget, int32_t *extendedLen) {
terrno
=
TSDB_CODE_TDB_FILE_CORRUPTED
;
tsdbError
(
"vgId:%d SBlockInfo part in file %s is corrupted, offset:%u expected bytes:%u read bytes:%"
PRId64
,
TSDB_READ_REPO_ID
(
pReadh
),
TSDB_FILE_FULL_NAME
(
pHeadf
),
pBlkIdx
->
offset
,
pBlkIdx
->
len
,
nread
);
taosTZfree
(
pBlkInfo
);
return
-
1
;
}
if
(
!
taosCheckChecksumWhole
((
uint8_t
*
)
pBlkInfo
,
pBlkIdx
->
len
))
{
if
(
!
taosCheckChecksumWhole
((
uint8_t
*
)
(
pReadh
->
pBlkInfo
)
,
pBlkIdx
->
len
))
{
terrno
=
TSDB_CODE_TDB_FILE_CORRUPTED
;
tsdbError
(
"vgId:%d SBlockInfo part in file %s is corrupted since wrong checksum, offset:%u len :%u"
,
TSDB_READ_REPO_ID
(
pReadh
),
TSDB_FILE_FULL_NAME
(
pHeadf
),
pBlkIdx
->
offset
,
pBlkIdx
->
len
);
taosTZfree
(
pBlkInfo
);
return
-
1
;
}
ASSERT
(
pBlkIdx
->
tid
==
p
BlkInfo
->
tid
&&
pBlkIdx
->
uid
==
pBlkInfo
->
uid
);
ASSERT
(
pBlkIdx
->
tid
==
p
Readh
->
pBlkInfo
->
tid
&&
pBlkIdx
->
uid
==
pReadh
->
pBlkInfo
->
uid
);
int32_t
dstBlkInfoLen
=
0
;
if
(
tsdbHeadRefactor
(
pHeadf
,
pBlkInfo
,
pBlkIdx
->
len
,
&
(
pReadh
->
pBlkInfo
),
&
dstBlkInfoLen
)
<
0
)
{
taosTZfree
(
pBlkInfo
);
if
(
tsdbHeadRefactor
(
pHeadf
,
&
(
pReadh
->
pBlkInfo
),
pBlkIdx
->
len
,
&
dstBlkInfoLen
)
<
0
)
{
return
-
1
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录