Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yiicenne
TDengine
提交
a47dfb68
TDengine
项目概览
yiicenne
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
a47dfb68
编写于
8月 11, 2021
作者:
H
Hongze Cheng
提交者:
GitHub
8月 11, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #7067 from taosdata/feature/TD-5538
feature/TD-5538
上级
5b0d3421
84976bc0
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
43 addition
and
0 deletion
+43
-0
src/dnode/src/dnodeSystem.c
src/dnode/src/dnodeSystem.c
+2
-0
src/tsdb/src/tsdbFS.c
src/tsdb/src/tsdbFS.c
+40
-0
src/util/inc/tconfig.h
src/util/inc/tconfig.h
+1
-0
未找到文件。
src/dnode/src/dnodeSystem.c
浏览文件 @
a47dfb68
...
...
@@ -42,6 +42,8 @@ int32_t main(int32_t argc, char *argv[]) {
}
}
else
if
(
strcmp
(
argv
[
i
],
"-C"
)
==
0
)
{
dump_config
=
1
;
}
else
if
(
strcmp
(
argv
[
i
],
"--force-keep-file"
)
==
0
)
{
tsdbForceKeepFile
=
true
;
}
else
if
(
strcmp
(
argv
[
i
],
"--compact-mnode-wal"
)
==
0
)
{
tsCompactMnodeWal
=
1
;
}
else
if
(
strcmp
(
argv
[
i
],
"-V"
)
==
0
)
{
...
...
src/tsdb/src/tsdbFS.c
浏览文件 @
a47dfb68
...
...
@@ -37,6 +37,8 @@ static void tsdbScanAndTryFixDFilesHeader(STsdbRepo *pRepo, int32_t *nExpired);
static
int
tsdbProcessExpiredFS
(
STsdbRepo
*
pRepo
);
static
int
tsdbCreateMeta
(
STsdbRepo
*
pRepo
);
// For backward compatibility
bool
tsdbForceKeepFile
=
false
;
// ================== CURRENT file header info
static
int
tsdbEncodeFSHeader
(
void
**
buf
,
SFSHeader
*
pHeader
)
{
int
tlen
=
0
;
...
...
@@ -1048,6 +1050,26 @@ static int tsdbRestoreMeta(STsdbRepo *pRepo) {
return
-
1
;
}
if
(
tsdbForceKeepFile
)
{
struct
stat
tfstat
;
// Get real file size
if
(
fstat
(
pfs
->
cstatus
->
pmf
->
fd
,
&
tfstat
)
<
0
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
tsdbCloseMFile
(
pfs
->
cstatus
->
pmf
);
tfsClosedir
(
tdir
);
regfree
(
&
regex
);
return
-
1
;
}
if
(
pfs
->
cstatus
->
pmf
->
info
.
size
!=
tfstat
.
st_size
)
{
int64_t
tfsize
=
pfs
->
cstatus
->
pmf
->
info
.
size
;
pfs
->
cstatus
->
pmf
->
info
.
size
=
tfstat
.
st_size
;
tsdbInfo
(
"vgId:%d file %s header size is changed from %"
PRId64
" to %"
PRId64
,
REPO_ID
(
pRepo
),
TSDB_FILE_FULL_NAME
(
pfs
->
cstatus
->
pmf
),
tfsize
,
pfs
->
cstatus
->
pmf
->
info
.
size
);
}
}
tsdbCloseMFile
(
pfs
->
cstatus
->
pmf
);
}
}
else
if
(
code
==
REG_NOMATCH
)
{
...
...
@@ -1212,6 +1234,24 @@ static int tsdbRestoreDFileSet(STsdbRepo *pRepo) {
return
-
1
;
}
if
(
tsdbForceKeepFile
)
{
struct
stat
tfstat
;
// Get real file size
if
(
fstat
(
pDFile
->
fd
,
&
tfstat
)
<
0
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
taosArrayDestroy
(
fArray
);
return
-
1
;
}
if
(
pDFile
->
info
.
size
!=
tfstat
.
st_size
)
{
int64_t
tfsize
=
pDFile
->
info
.
size
;
pDFile
->
info
.
size
=
tfstat
.
st_size
;
tsdbInfo
(
"vgId:%d file %s header size is changed from %"
PRId64
" to %"
PRId64
,
REPO_ID
(
pRepo
),
TSDB_FILE_FULL_NAME
(
pDFile
),
tfsize
,
pDFile
->
info
.
size
);
}
}
tsdbCloseDFile
(
pDFile
);
index
++
;
}
...
...
src/util/inc/tconfig.h
浏览文件 @
a47dfb68
...
...
@@ -81,6 +81,7 @@ typedef struct {
extern
SGlobalCfg
tsGlobalConfig
[];
extern
int32_t
tsGlobalConfigNum
;
extern
char
*
tsCfgStatusStr
[];
extern
bool
tsdbForceKeepFile
;
void
taosReadGlobalLogCfg
();
bool
taosReadGlobalCfg
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录