Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
2fd04241
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
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看板
提交
2fd04241
编写于
7月 13, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more vnode snapshot reader
上级
b691e767
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
41 addition
and
43 deletion
+41
-43
include/util/taoserror.h
include/util/taoserror.h
+0
-1
source/dnode/vnode/src/tsdb/tsdbSnapshot.c
source/dnode/vnode/src/tsdb/tsdbSnapshot.c
+39
-38
source/dnode/vnode/src/vnd/vnodeSnapshot.c
source/dnode/vnode/src/vnd/vnodeSnapshot.c
+2
-2
source/util/src/terror.c
source/util/src/terror.c
+0
-2
未找到文件。
include/util/taoserror.h
浏览文件 @
2fd04241
...
@@ -331,7 +331,6 @@ int32_t* taosGetErrno();
...
@@ -331,7 +331,6 @@ int32_t* taosGetErrno();
#define TSDB_CODE_VND_INVALID_TABLE_ACTION TAOS_DEF_ERROR_CODE(0, 0x0519)
#define TSDB_CODE_VND_INVALID_TABLE_ACTION TAOS_DEF_ERROR_CODE(0, 0x0519)
#define TSDB_CODE_VND_COL_ALREADY_EXISTS TAOS_DEF_ERROR_CODE(0, 0x051a)
#define TSDB_CODE_VND_COL_ALREADY_EXISTS TAOS_DEF_ERROR_CODE(0, 0x051a)
#define TSDB_CODE_VND_TABLE_COL_NOT_EXISTS TAOS_DEF_ERROR_CODE(0, 0x051b)
#define TSDB_CODE_VND_TABLE_COL_NOT_EXISTS TAOS_DEF_ERROR_CODE(0, 0x051b)
#define TSDB_CODE_VND_READ_END TAOS_DEF_ERROR_CODE(0, 0x051c)
// tsdb
// tsdb
#define TSDB_CODE_TDB_INVALID_TABLE_ID TAOS_DEF_ERROR_CODE(0, 0x0600)
#define TSDB_CODE_TDB_INVALID_TABLE_ID TAOS_DEF_ERROR_CODE(0, 0x0600)
...
...
source/dnode/vnode/src/tsdb/tsdbSnapshot.c
浏览文件 @
2fd04241
...
@@ -34,8 +34,8 @@ struct STsdbSnapReader {
...
@@ -34,8 +34,8 @@ struct STsdbSnapReader {
// for del file
// for del file
int8_t
delDone
;
int8_t
delDone
;
SDelFReader
*
pDelFReader
;
SDelFReader
*
pDelFReader
;
SArray
*
aDelIdx
;
// SArray<SDelIdx>
int32_t
iDelIdx
;
int32_t
iDelIdx
;
SArray
*
aDelIdx
;
// SArray<SDelIdx>
SArray
*
aDelData
;
// SArray<SDelData>
SArray
*
aDelData
;
// SArray<SDelData>
};
};
...
@@ -117,7 +117,8 @@ static int32_t tsdbSnapReadData(STsdbSnapReader* pReader, uint8_t** ppData) {
...
@@ -117,7 +117,8 @@ static int32_t tsdbSnapReadData(STsdbSnapReader* pReader, uint8_t** ppData) {
if
(
code
)
goto
_err
;
if
(
code
)
goto
_err
;
}
}
// org data (todo)
// org data
// compress data (todo)
int32_t
size
=
sizeof
(
TABLEID
)
+
tPutBlockData
(
NULL
,
&
pReader
->
nBlockData
);
int32_t
size
=
sizeof
(
TABLEID
)
+
tPutBlockData
(
NULL
,
&
pReader
->
nBlockData
);
*
ppData
=
taosMemoryMalloc
(
sizeof
(
SSnapDataHdr
)
+
size
);
*
ppData
=
taosMemoryMalloc
(
sizeof
(
SSnapDataHdr
)
+
size
);
...
@@ -137,9 +138,10 @@ static int32_t tsdbSnapReadData(STsdbSnapReader* pReader, uint8_t** ppData) {
...
@@ -137,9 +138,10 @@ static int32_t tsdbSnapReadData(STsdbSnapReader* pReader, uint8_t** ppData) {
tPutBlockData
((
uint8_t
*
)(
&
pId
[
1
]),
&
pReader
->
nBlockData
);
tPutBlockData
((
uint8_t
*
)(
&
pId
[
1
]),
&
pReader
->
nBlockData
);
tsdbInfo
(
"vgId:%d vnode snapshot read data, fid:%d suid:%"
PRId64
" uid:%"
PRId64
tsdbInfo
(
"vgId:%d vnode snapshot read data, fid:%d suid:%"
PRId64
" uid:%"
PRId64
" iBlock:%d minVersion:%d maxVersion:%d nRow:%d out of %d"
,
" iBlock:%d minVersion:%d maxVersion:%d nRow:%d out of %d
size:%d
"
,
TD_VID
(
pTsdb
->
pVnode
),
pReader
->
fid
,
pReader
->
pBlockIdx
->
suid
,
pReader
->
pBlockIdx
->
uid
,
TD_VID
(
pTsdb
->
pVnode
),
pReader
->
fid
,
pReader
->
pBlockIdx
->
suid
,
pReader
->
pBlockIdx
->
uid
,
pReader
->
iBlock
-
1
,
pBlock
->
minVersion
,
pBlock
->
maxVersion
,
pReader
->
nBlockData
.
nRow
,
pBlock
->
nRow
);
pReader
->
iBlock
-
1
,
pBlock
->
minVersion
,
pBlock
->
maxVersion
,
pReader
->
nBlockData
.
nRow
,
pBlock
->
nRow
,
size
);
goto
_exit
;
goto
_exit
;
}
}
...
@@ -161,7 +163,6 @@ static int32_t tsdbSnapReadDel(STsdbSnapReader* pReader, uint8_t** ppData) {
...
@@ -161,7 +163,6 @@ static int32_t tsdbSnapReadDel(STsdbSnapReader* pReader, uint8_t** ppData) {
if
(
pReader
->
pDelFReader
==
NULL
)
{
if
(
pReader
->
pDelFReader
==
NULL
)
{
if
(
pDelFile
==
NULL
)
{
if
(
pDelFile
==
NULL
)
{
code
=
TSDB_CODE_VND_READ_END
;
goto
_exit
;
goto
_exit
;
}
}
...
@@ -176,15 +177,20 @@ static int32_t tsdbSnapReadDel(STsdbSnapReader* pReader, uint8_t** ppData) {
...
@@ -176,15 +177,20 @@ static int32_t tsdbSnapReadDel(STsdbSnapReader* pReader, uint8_t** ppData) {
pReader
->
iDelIdx
=
0
;
pReader
->
iDelIdx
=
0
;
}
}
while
(
pReader
->
iDelIdx
<
taosArrayGetSize
(
pReader
->
aDelIdx
))
{
while
(
true
)
{
if
(
pReader
->
iDelIdx
>=
taosArrayGetSize
(
pReader
->
aDelIdx
))
{
tsdbDelFReaderClose
(
&
pReader
->
pDelFReader
);
break
;
}
SDelIdx
*
pDelIdx
=
(
SDelIdx
*
)
taosArrayGet
(
pReader
->
aDelIdx
,
pReader
->
iDelIdx
);
SDelIdx
*
pDelIdx
=
(
SDelIdx
*
)
taosArrayGet
(
pReader
->
aDelIdx
,
pReader
->
iDelIdx
);
int32_t
size
=
0
;
pReader
->
iDelIdx
++
;
pReader
->
iDelIdx
++
;
code
=
tsdbReadDelData
(
pReader
->
pDelFReader
,
pDelIdx
,
pReader
->
aDelData
,
NULL
);
code
=
tsdbReadDelData
(
pReader
->
pDelFReader
,
pDelIdx
,
pReader
->
aDelData
,
NULL
);
if
(
code
)
goto
_err
;
if
(
code
)
goto
_err
;
int32_t
size
=
0
;
for
(
int32_t
iDelData
=
0
;
iDelData
<
taosArrayGetSize
(
pReader
->
aDelData
);
iDelData
++
)
{
for
(
int32_t
iDelData
=
0
;
iDelData
<
taosArrayGetSize
(
pReader
->
aDelData
);
iDelData
++
)
{
SDelData
*
pDelData
=
(
SDelData
*
)
taosArrayGet
(
pReader
->
aDelData
,
iDelData
);
SDelData
*
pDelData
=
(
SDelData
*
)
taosArrayGet
(
pReader
->
aDelData
,
iDelData
);
...
@@ -193,46 +199,44 @@ static int32_t tsdbSnapReadDel(STsdbSnapReader* pReader, uint8_t** ppData) {
...
@@ -193,46 +199,44 @@ static int32_t tsdbSnapReadDel(STsdbSnapReader* pReader, uint8_t** ppData) {
}
}
}
}
if
(
size
>
0
)
{
if
(
size
==
0
)
continue
;
int64_t
n
=
0
;
size
=
size
+
sizeof
(
SSnapDataHdr
)
+
sizeof
(
TABLEID
);
code
=
tRealloc
(
ppData
,
size
);
if
(
code
)
goto
_err
;
// SSnapDataHdr
// org data
SSnapDataHdr
*
pSnapDataHdr
=
(
SSnapDataHdr
*
)(
*
ppData
+
n
);
size
=
sizeof
(
TABLEID
)
+
size
;
pSnapDataHdr
->
type
=
1
;
*
ppData
=
taosMemoryMalloc
(
sizeof
(
SSnapDataHdr
)
+
size
);
pSnapDataHdr
->
size
=
size
;
// TODO: size here may incorrect
if
(
*
ppData
==
NULL
)
{
n
+=
sizeof
(
SSnapDataHdr
);
code
=
TSDB_CODE_OUT_OF_MEMORY
;
goto
_err
;
}
// TABLEID
SSnapDataHdr
*
pHdr
=
(
SSnapDataHdr
*
)(
*
ppData
);
TABLEID
*
pId
=
(
TABLEID
*
)(
*
ppData
+
n
);
pHdr
->
type
=
2
;
pId
->
suid
=
pDelIdx
->
suid
;
pHdr
->
size
=
size
;
pId
->
uid
=
pDelIdx
->
uid
;
n
+=
sizeof
(
*
pId
);
// DATA
TABLEID
*
pId
=
(
TABLEID
*
)(
&
pHdr
[
1
]);
for
(
int32_t
iDelData
=
0
;
iDelData
<
taosArrayGetSize
(
pReader
->
aDelData
);
iDelData
++
)
{
pId
->
suid
=
pDelIdx
->
suid
;
SDelData
*
pDelData
=
(
SDelData
*
)
taosArrayGet
(
pReader
->
aDelData
,
iDelData
);
pId
->
uid
=
pDelIdx
->
uid
;
int32_t
n
=
sizeof
(
SSnapDataHdr
)
+
sizeof
(
TABLEID
);
for
(
int32_t
iDelData
=
0
;
iDelData
<
taosArrayGetSize
(
pReader
->
aDelData
);
iDelData
++
)
{
SDelData
*
pDelData
=
(
SDelData
*
)
taosArrayGet
(
pReader
->
aDelData
,
iDelData
);
if
(
pDelData
->
version
>=
pReader
->
sver
&&
pDelData
->
version
<=
pReader
->
ever
)
{
if
(
pDelData
->
version
<
pReader
->
sver
)
continue
;
n
+=
tPutDelData
(
*
ppData
+
n
,
pDelData
);
if
(
pDelData
->
version
>
pReader
->
ever
)
continue
;
}
}
goto
_exit
;
n
+=
tPutDelData
((
*
ppData
)
+
n
,
pDelData
)
;
}
}
}
code
=
TSDB_CODE_VND_READ_END
;
tsdbInfo
(
"vgId:%d vnode snapshot tsdb read del data, suid:%"
PRId64
" uid:%d"
PRId64
" size:%d"
,
tsdbDelFReaderClose
(
&
pReader
->
pDelFReader
);
TD_VID
(
pTsdb
->
pVnode
),
pDelIdx
->
suid
,
pDelIdx
->
uid
,
size
);
break
;
}
_exit:
_exit:
return
code
;
return
code
;
_err:
_err:
tsdbError
(
"vgId:%d
snap
read del failed since %s"
,
TD_VID
(
pTsdb
->
pVnode
),
tstrerror
(
code
));
tsdbError
(
"vgId:%d
vnode snapshot tsdb
read del failed since %s"
,
TD_VID
(
pTsdb
->
pVnode
),
tstrerror
(
code
));
return
code
;
return
code
;
}
}
...
@@ -342,9 +346,6 @@ int32_t tsdbSnapRead(STsdbSnapReader* pReader, uint8_t** ppData) {
...
@@ -342,9 +346,6 @@ int32_t tsdbSnapRead(STsdbSnapReader* pReader, uint8_t** ppData) {
}
}
_exit:
_exit:
if
(
*
ppData
)
{
}
else
{
}
return
code
;
return
code
;
_err:
_err:
...
...
source/dnode/vnode/src/vnd/vnodeSnapshot.c
浏览文件 @
2fd04241
...
@@ -237,8 +237,8 @@ int32_t vnodeSnapWrite(SVSnapWriter *pWriter, uint8_t *pData, uint32_t nData) {
...
@@ -237,8 +237,8 @@ int32_t vnodeSnapWrite(SVSnapWriter *pWriter, uint8_t *pData, uint32_t nData) {
// }
// }
_exit:
_exit:
vInfo
(
"vgId:%d vnode snapshot write data, index:%"
PRId64
" type:%d nData:%d"
,
TD_VID
(
pVnode
),
pHdr
->
type
,
nData
,
vInfo
(
"vgId:%d vnode snapshot write data, index:%"
PRId64
" type:%d nData:%d"
,
TD_VID
(
pVnode
),
pHdr
->
index
,
pHdr
->
index
);
pHdr
->
type
,
nData
);
return
code
;
return
code
;
_err:
_err:
...
...
source/util/src/terror.c
浏览文件 @
2fd04241
...
@@ -335,8 +335,6 @@ TAOS_DEFINE_ERROR(TSDB_CODE_VND_TABLE_NOT_EXIST, "Table does not exists
...
@@ -335,8 +335,6 @@ TAOS_DEFINE_ERROR(TSDB_CODE_VND_TABLE_NOT_EXIST, "Table does not exists
TAOS_DEFINE_ERROR
(
TSDB_CODE_VND_INVALID_TABLE_ACTION
,
"Invalid table action"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_VND_INVALID_TABLE_ACTION
,
"Invalid table action"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_VND_COL_ALREADY_EXISTS
,
"Table column already exists"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_VND_COL_ALREADY_EXISTS
,
"Table column already exists"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_VND_TABLE_COL_NOT_EXISTS
,
"Table column not exists"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_VND_TABLE_COL_NOT_EXISTS
,
"Table column not exists"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_VND_READ_END
,
"Read end"
)
// tsdb
// tsdb
TAOS_DEFINE_ERROR
(
TSDB_CODE_TDB_INVALID_TABLE_ID
,
"Invalid table ID"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_TDB_INVALID_TABLE_ID
,
"Invalid table ID"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录