Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
68e29fa8
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
68e29fa8
编写于
9月 10, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
9月 10, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3455 from taosdata/hotfix/TD-1401
TD-1401
上级
4eb3d549
aee27e36
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
6 deletion
+25
-6
src/tsdb/src/tsdbFile.c
src/tsdb/src/tsdbFile.c
+25
-6
未找到文件。
src/tsdb/src/tsdbFile.c
浏览文件 @
68e29fa8
...
...
@@ -142,12 +142,30 @@ int tsdbOpenFileH(STsdbRepo *pRepo) {
}
else
if
(
code
==
REG_NOMATCH
)
{
code
=
regexec
(
&
regex2
,
dp
->
d_name
,
0
,
NULL
,
0
);
if
(
code
==
0
)
{
tsdbDebug
(
"vgId:%d invalid file %s exists, remove it"
,
REPO_ID
(
pRepo
),
dp
->
d_name
);
char
*
fname
=
malloc
(
strlen
(
tDataDir
)
+
strlen
(
dp
->
d_name
)
+
2
);
if
(
fname
==
NULL
)
goto
_err
;
sprintf
(
fname
,
"%s/%s"
,
tDataDir
,
dp
->
d_name
);
(
void
)
remove
(
fname
);
free
(
fname
);
size_t
tsize
=
strlen
(
tDataDir
)
+
strlen
(
dp
->
d_name
)
+
2
;
char
*
fname1
=
malloc
(
tsize
);
if
(
fname1
==
NULL
)
{
terrno
=
TSDB_CODE_TDB_OUT_OF_MEMORY
;
goto
_err
;
}
sprintf
(
fname1
,
"%s/%s"
,
tDataDir
,
dp
->
d_name
);
tsize
=
tsize
+
64
;
char
*
fname2
=
malloc
(
tsize
);
if
(
fname2
==
NULL
)
{
free
(
fname1
);
terrno
=
TSDB_CODE_TDB_OUT_OF_MEMORY
;
goto
_err
;
}
sprintf
(
fname2
,
"%s/%s_back_%"
PRId64
,
tDataDir
,
dp
->
d_name
,
taosGetTimestamp
(
TSDB_TIME_PRECISION_MILLI
));
(
void
)
rename
(
fname1
,
fname2
);
tsdbDebug
(
"vgId:%d file %s exists, backup it as %s"
,
REPO_ID
(
pRepo
),
fname1
,
fname2
);
free
(
fname1
);
free
(
fname2
);
continue
;
}
else
if
(
code
==
REG_NOMATCH
)
{
tsdbError
(
"vgId:%d invalid file %s exists, ignore it"
,
REPO_ID
(
pRepo
),
dp
->
d_name
);
continue
;
...
...
@@ -160,6 +178,7 @@ int tsdbOpenFileH(STsdbRepo *pRepo) {
pFileH
->
pFGroup
[
pFileH
->
nFGroups
++
]
=
fileGroup
;
qsort
((
void
*
)(
pFileH
->
pFGroup
),
pFileH
->
nFGroups
,
sizeof
(
SFileGroup
),
compFGroup
);
tsdbDebug
(
"vgId:%d file group %d is restored, nFGroups %d"
,
REPO_ID
(
pRepo
),
fileGroup
.
fileId
,
pFileH
->
nFGroups
);
}
regfree
(
&
regex1
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录