Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
7d7c8af8
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看板
提交
7d7c8af8
编写于
5月 24, 2023
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more code
上级
ab7f6eb7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
35 addition
and
22 deletion
+35
-22
source/dnode/vnode/src/tsdb/dev/inc/tsdbMerge.h
source/dnode/vnode/src/tsdb/dev/inc/tsdbMerge.h
+1
-0
source/dnode/vnode/src/tsdb/dev/tsdbMerge.c
source/dnode/vnode/src/tsdb/dev/tsdbMerge.c
+34
-22
未找到文件。
source/dnode/vnode/src/tsdb/dev/inc/tsdbMerge.h
浏览文件 @
7d7c8af8
...
...
@@ -13,6 +13,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "tsdbDataFReaderWriter.h"
#include "tsdbFS.h"
#include "tsdbSttFReaderWriter.h"
...
...
source/dnode/vnode/src/tsdb/dev/tsdbMerge.c
浏览文件 @
7d7c8af8
...
...
@@ -20,9 +20,11 @@ typedef struct {
}
SMergeCtx
;
typedef
struct
{
STsdb
*
tsdb
;
SMergeCtx
ctx
;
TFileOpArray
fopArr
;
STsdb
*
tsdb
;
SMergeCtx
ctx
;
SSttFileWriter
*
sttWriter
;
SDataFileWriter
*
dataWriter
;
TFileOpArray
fopArr
;
}
SMerger
;
static
int32_t
tsdbMergerOpen
(
SMerger
*
merger
)
{
...
...
@@ -68,26 +70,36 @@ static int32_t tsdbMergeFileSet(SMerger *merger, STFileSet *fset) {
{
// prepare the merger file set
SSttLvl
*
lvl
;
STFileObj
*
fobj
;
bool
mergerToData
=
true
;
int32_t
level
=
-
1
;
TARRAY2_FOREACH
(
&
fset
->
lvlArr
,
lvl
)
{
TARRAY2_FOREACH
(
&
lvl
->
farr
,
fobj
)
{
if
(
fobj
->
f
.
stt
.
nseg
>=
merger
->
tsdb
->
pVnode
->
config
.
sttTrigger
)
{
STFileOp
op
=
{
.
fid
=
fset
->
fid
,
.
optype
=
TSDB_FOP_REMOVE
,
.
of
=
fobj
->
f
,
};
code
=
TARRAY2_APPEND
(
&
merger
->
fopArr
,
op
);
TSDB_CHECK_CODE
(
code
,
lino
,
_exit
);
}
else
{
if
(
lvl
->
level
==
0
)
{
continue
;
}
else
{
// TODO
}
}
if
(
lvl
->
level
-
level
>
1
)
{
mergerToData
=
false
;
break
;
}
if
(
lvl
->
level
==
0
)
{
}
else
{
ASSERT
(
TARRAY2_SIZE
(
&
lvl
->
farr
)
==
1
);
fobj
=
TARRAY2_FIRST
(
&
lvl
->
farr
);
}
}
// merge to level
level
=
level
+
1
;
lvl
=
tsdbTFileSetGetLvl
(
fset
,
level
);
if
(
lvl
==
NULL
)
{
// open new stt file to merge to
}
else
{
// open existing stt file to merge to
}
if
(
mergerToData
)
{
// code = tsdbDataFWriterOpen(SDataFWriter * *ppWriter, STsdb * pTsdb, SDFileSet * pSet);
// TSDB_CHECK_CODE(code, lino, _exit);
}
}
{
...
...
@@ -151,8 +163,8 @@ int32_t tsdbMerge(STsdb *tsdb) {
_exit:
if
(
code
)
{
tsdbError
(
"vgId:%d %s failed at line %d since %s"
,
vid
,
__func__
,
lino
,
tstrerror
(
code
));
}
else
{
tsdbDebug
(
"vgId:%d %s done
, do merge: %d"
,
vid
,
__func__
,
merger
.
ctx
.
launched
);
}
else
if
(
merger
.
ctx
.
launched
)
{
tsdbDebug
(
"vgId:%d %s done
"
,
vid
,
__func__
);
}
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录