Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
36b2495c
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看板
提交
36b2495c
编写于
5月 23, 2023
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more code
上级
5d5add3f
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
61 addition
and
51 deletion
+61
-51
source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h
source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h
+7
-13
source/dnode/vnode/src/tsdb/dev/tsdbCommit.c
source/dnode/vnode/src/tsdb/dev/tsdbCommit.c
+1
-1
source/dnode/vnode/src/tsdb/dev/tsdbFS.c
source/dnode/vnode/src/tsdb/dev/tsdbFS.c
+9
-2
source/dnode/vnode/src/tsdb/dev/tsdbFSet.c
source/dnode/vnode/src/tsdb/dev/tsdbFSet.c
+36
-29
source/dnode/vnode/src/tsdb/dev/tsdbSttFReaderWriter.c
source/dnode/vnode/src/tsdb/dev/tsdbSttFReaderWriter.c
+8
-6
未找到文件。
source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h
浏览文件 @
36b2495c
...
...
@@ -29,14 +29,6 @@ typedef TARRAY2(STFileObj *) TFileObjArray;
typedef
TARRAY2
(
SSttLvl
*
)
TSttLvlArray
;
typedef
TARRAY2
(
STFileOp
)
TFileOpArray
;
typedef
enum
{
TSDB_FOP_NONE
=
0
,
TSDB_FOP_EXTEND
,
TSDB_FOP_CREATE
,
TSDB_FOP_DELETE
,
TSDB_FOP_TRUNCATE
,
}
tsdb_fop_t
;
// init/clear
int32_t
tsdbTFileSetInit
(
int32_t
fid
,
STFileSet
**
fset
);
int32_t
tsdbTFileSetInitEx
(
STsdb
*
pTsdb
,
const
STFileSet
*
fset1
,
STFileSet
**
fset
);
...
...
@@ -52,14 +44,16 @@ int32_t tsdbTFileSetEdit(STsdb *pTsdb, STFileSet *fset, const STFileOp *op);
int32_t
tsdbTFileSetApplyEdit
(
STsdb
*
pTsdb
,
const
STFileSet
*
fset1
,
STFileSet
*
fset
);
// max commit id
int64_t
tsdbTFileSetMaxCid
(
const
STFileSet
*
fset
);
// get
SSttLvl
*
tsdbTFileSetGetLvl
(
STFileSet
*
fset
,
int32_t
level
);
// is empty
bool
tsdbTFileSetIsEmpty
(
const
STFileSet
*
fset
);
struct
STFileOp
{
tsdb_fop_t
op
;
int32_t
fid
;
STFile
oState
;
// old file stat
e
STFile
nState
;
// new file state
int32_t
fid
;
STFile
*
of
;
// old file
STFile
*
nf
;
// new fil
e
STFile
fArr
[
2
];
};
struct
SSttLvl
{
...
...
source/dnode/vnode/src/tsdb/dev/tsdbCommit.c
浏览文件 @
36b2495c
...
...
@@ -326,7 +326,7 @@ static int32_t open_committer(STsdb *pTsdb, SCommitInfo *pInfo, SCommitter *pCom
pCommitter
->
minRow
=
pInfo
->
info
.
config
.
tsdbCfg
.
minRows
;
pCommitter
->
maxRow
=
pInfo
->
info
.
config
.
tsdbCfg
.
maxRows
;
pCommitter
->
cmprAlg
=
pInfo
->
info
.
config
.
tsdbCfg
.
compression
;
pCommitter
->
sttTrigger
=
1
;
// TODO
pCommitter
->
sttTrigger
=
4
;
// TODO
pCommitter
->
aTbDataP
=
tsdbMemTableGetTbDataArray
(
pTsdb
->
imem
);
if
(
pCommitter
->
aTbDataP
==
NULL
)
{
...
...
source/dnode/vnode/src/tsdb/dev/tsdbFS.c
浏览文件 @
36b2495c
...
...
@@ -496,8 +496,15 @@ static int32_t edit_fs(STFileSystem *fs, const TFileOpArray *opArray) {
TSDB_CHECK_CODE
(
code
,
lino
,
_exit
);
}
{
// TODO: check if a file set should be deleted
// remove empty file set
int32_t
i
=
0
;
while
(
i
<
TARRAY2_SIZE
(
fsetArray
))
{
fset
=
TARRAY2_GET
(
fsetArray
,
i
);
if
(
tsdbTFileSetIsEmpty
(
fset
))
{
TARRAY2_REMOVE
(
fsetArray
,
i
,
tsdbTFileSetClear
);
}
else
{
i
++
;
}
}
_exit:
...
...
source/dnode/vnode/src/tsdb/dev/tsdbFSet.c
浏览文件 @
36b2495c
...
...
@@ -259,35 +259,35 @@ int32_t tsdbJsonToTFileSet(STsdb *pTsdb, const cJSON *json, STFileSet **fset) {
int32_t
tsdbTFileSetEdit
(
STsdb
*
pTsdb
,
STFileSet
*
fset
,
const
STFileOp
*
op
)
{
int32_t
code
=
0
;
if
(
op
->
oState
.
size
==
0
//
||
0
/* TODO*/
)
{
STFileObj
*
fobj
;
code
=
tsdbTFileObjInit
(
pTsdb
,
&
op
->
nState
,
&
fobj
);
if
(
code
)
return
code
;
if
(
fobj
->
f
.
type
==
TSDB_FTYPE_STT
)
{
SSttLvl
*
lvl
=
tsdbTFileSetGetLvl
(
fset
,
fobj
->
f
.
stt
.
level
);
if
(
!
lvl
)
{
code
=
tsdbSttLvlInit
(
fobj
->
f
.
stt
.
level
,
&
lvl
);
if
(
code
)
return
code
;
code
=
TARRAY2_SORT_INSERT
(
&
fset
->
lvlArr
,
lvl
,
tsdbSttLvlCmprFn
);
if
(
code
)
return
code
;
}
code
=
TARRAY2_SORT_INSERT
(
&
lvl
->
farr
,
fobj
,
tsdbTFileObjCmpr
);
if
(
code
)
return
code
;
}
else
{
fset
->
farr
[
fobj
->
f
.
type
]
=
fobj
;
}
}
else
if
(
op
->
nState
.
size
==
0
)
{
// delete
ASSERT
(
0
);
}
else
{
// modify
ASSERT
(
0
);
}
// if (op->of
.size == 0 //
// || 0
/* TODO*/
//
) {
//
STFileObj *fobj;
// code = tsdbTFileObjInit(pTsdb, &op->nf
, &fobj);
//
if (code) return code;
//
if (fobj->f.type == TSDB_FTYPE_STT) {
//
SSttLvl *lvl = tsdbTFileSetGetLvl(fset, fobj->f.stt.level);
//
if (!lvl) {
//
code = tsdbSttLvlInit(fobj->f.stt.level, &lvl);
//
if (code) return code;
//
code = TARRAY2_SORT_INSERT(&fset->lvlArr, lvl, tsdbSttLvlCmprFn);
//
if (code) return code;
//
}
//
code = TARRAY2_SORT_INSERT(&lvl->farr, fobj, tsdbTFileObjCmpr);
//
if (code) return code;
//
} else {
//
fset->farr[fobj->f.type] = fobj;
//
}
// } else if (op->nf
.size == 0) {
//
// delete
//
ASSERT(0);
//
} else {
//
// modify
//
ASSERT(0);
//
}
return
0
;
}
...
...
@@ -457,4 +457,11 @@ int64_t tsdbTFileSetMaxCid(const STFileSet *fset) {
TARRAY2_FOREACH
(
&
lvl
->
farr
,
fobj
)
{
maxCid
=
TMAX
(
maxCid
,
fobj
->
f
.
cid
);
}
}
return
maxCid
;
}
bool
tsdbTFileSetIsEmpty
(
const
STFileSet
*
fset
)
{
for
(
tsdb_ftype_t
ftype
=
TSDB_FTYPE_MIN
;
ftype
<
TSDB_FTYPE_MAX
;
++
ftype
)
{
if
(
fset
->
farr
[
ftype
]
!=
NULL
)
return
false
;
}
return
TARRAY2_SIZE
(
&
fset
->
lvlArr
)
==
0
;
}
\ No newline at end of file
source/dnode/vnode/src/tsdb/dev/tsdbSttFReaderWriter.c
浏览文件 @
36b2495c
...
...
@@ -570,14 +570,16 @@ int32_t tsdbSttFWriterClose(SSttFileWriter **ppWriter, int8_t abort, struct STFi
TSDB_CHECK_CODE
(
code
,
lino
,
_exit
);
if
(
op
)
{
op
->
fid
=
ppWriter
[
0
]
->
config
.
file
.
fid
;
op
->
oState
=
ppWriter
[
0
]
->
config
.
file
;
op
->
nState
=
ppWriter
[
0
]
->
tFile
;
if
(
op
->
oState
.
size
==
0
)
{
op
->
op
=
TSDB_FOP_CREATE
;
STFile
*
f
=
&
ppWriter
[
0
]
->
config
.
file
;
op
->
fid
=
f
->
fid
;
if
(
f
->
size
==
0
)
{
op
->
of
=
NULL
;
}
else
{
op
->
op
=
TSDB_FOP_EXTEND
;
op
->
of
=
&
op
->
fArr
[
0
];
op
->
of
[
0
]
=
f
[
0
];
}
op
->
nf
=
&
op
->
fArr
[
1
];
op
->
nf
[
0
]
=
ppWriter
[
0
]
->
tFile
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录