Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
c65a1d93
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看板
提交
c65a1d93
编写于
3月 19, 2021
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/release/s117_2' into feature/linux
上级
681c314b
bee74151
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
35 addition
and
35 deletion
+35
-35
src/sync/src/syncRetrieve.c
src/sync/src/syncRetrieve.c
+1
-1
src/tsdb/src/tsdbMeta.c
src/tsdb/src/tsdbMeta.c
+3
-3
src/tsdb/src/tsdbSync.c
src/tsdb/src/tsdbSync.c
+20
-20
src/util/inc/tsocket.h
src/util/inc/tsocket.h
+1
-1
src/util/src/tsocket.c
src/util/src/tsocket.c
+10
-10
未找到文件。
src/sync/src/syncRetrieve.c
浏览文件 @
c65a1d93
...
...
@@ -334,7 +334,7 @@ static int64_t syncRetrieveWal(SSyncPeer *pPeer) {
break
;
}
code
=
(
int32_t
)
taosSendFile
(
pPeer
->
syncFd
,
sfd
,
NULL
,
size
);
code
=
taosSendFile
(
pPeer
->
syncFd
,
sfd
,
NULL
,
size
);
close
(
sfd
);
if
(
code
<
0
)
{
sError
(
"%s, failed to send wal:%s for retrieve since %s, code:0x%"
PRIx64
,
pPeer
->
id
,
fname
,
strerror
(
errno
),
code
);
...
...
src/tsdb/src/tsdbMeta.c
浏览文件 @
c65a1d93
...
...
@@ -213,9 +213,9 @@ void *tsdbGetTableTagVal(const void* pTable, int32_t colId, int16_t type, int16_
char
*
val
=
tdGetKVRowValOfCol
(((
STable
*
)
pTable
)
->
tagVal
,
colId
);
assert
(
type
==
pCol
->
type
&&
bytes
==
pCol
->
bytes
);
if
(
val
!=
NULL
&&
IS_VAR_DATA_TYPE
(
type
))
{
assert
(
varDataLen
(
val
)
<
pCol
->
bytes
);
}
//
if (val != NULL && IS_VAR_DATA_TYPE(type)) {
//
assert(varDataLen(val) < pCol->bytes);
//
}
return
val
;
}
...
...
src/tsdb/src/tsdbSync.c
浏览文件 @
c65a1d93
...
...
@@ -152,14 +152,14 @@ static int32_t tsdbSyncSendMeta(SSyncH *pSynch) {
return
-
1
;
}
int
32_t
writeLen
=
(
int32_t
)
mf
.
info
.
size
;
tsdbInfo
(
"vgId:%d, metafile:%s will be sent, size:%
d"
,
REPO_ID
(
pRepo
),
mf
.
f
.
aname
,
writeLen
);
int
64_t
writeLen
=
mf
.
info
.
size
;
tsdbInfo
(
"vgId:%d, metafile:%s will be sent, size:%
"
PRId64
,
REPO_ID
(
pRepo
),
mf
.
f
.
aname
,
writeLen
);
int
32_t
ret
=
(
int32_t
)
taosSendFile
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
mf
),
0
,
writeLen
);
int
64_t
ret
=
taosSendFile
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
mf
),
0
,
writeLen
);
if
(
ret
!=
writeLen
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
tsdbError
(
"vgId:%d, failed to send metafile since %s, ret:%
d writeLen:%d"
,
REPO_ID
(
pRepo
),
tstrerror
(
terrno
),
ret
,
writeLen
);
tsdbError
(
"vgId:%d, failed to send metafile since %s, ret:%
"
PRId64
" writeLen:%"
PRId64
,
REPO_ID
(
pRepo
)
,
tstrerror
(
terrno
),
ret
,
writeLen
);
tsdbCloseMFile
(
&
mf
);
return
-
1
;
}
...
...
@@ -217,18 +217,18 @@ static int32_t tsdbSyncRecvMeta(SSyncH *pSynch) {
tsdbInfo
(
"vgId:%d, metafile:%s is created"
,
REPO_ID
(
pRepo
),
mf
.
f
.
aname
);
int
32_t
readLen
=
(
int32_t
)
pSynch
->
pmf
->
info
.
size
;
int
32
_t
ret
=
taosCopyFds
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
mf
),
readLen
);
int
64_t
readLen
=
pSynch
->
pmf
->
info
.
size
;
int
64
_t
ret
=
taosCopyFds
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
mf
),
readLen
);
if
(
ret
!=
readLen
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
tsdbError
(
"vgId:%d, failed to recv metafile since %s, ret:%
d readLen:%d"
,
REPO_ID
(
pRepo
),
tstrerror
(
terrno
),
ret
,
readLen
);
tsdbError
(
"vgId:%d, failed to recv metafile since %s, ret:%
"
PRId64
" readLen:%"
PRId64
,
REPO_ID
(
pRepo
)
,
tstrerror
(
terrno
),
ret
,
readLen
);
tsdbCloseMFile
(
&
mf
);
tsdbRemoveMFile
(
&
mf
);
return
-
1
;
}
tsdbInfo
(
"vgId:%d, metafile is received, size:%
d"
,
REPO_ID
(
pRepo
),
readLen
);
tsdbInfo
(
"vgId:%d, metafile is received, size:%
"
PRId64
,
REPO_ID
(
pRepo
),
readLen
);
mf
.
info
=
pSynch
->
pmf
->
info
;
tsdbCloseMFile
(
&
mf
);
...
...
@@ -463,12 +463,12 @@ static int32_t tsdbSyncRecvDFileSetArray(SSyncH *pSynch) {
tsdbInfo
(
"vgId:%d, file:%s will be received, osize:%"
PRIu64
" rsize:%"
PRIu64
,
REPO_ID
(
pRepo
),
pDFile
->
f
.
aname
,
pDFile
->
info
.
size
,
pRDFile
->
info
.
size
);
int
32_t
writeLen
=
(
int32_t
)
pRDFile
->
info
.
size
;
int
32
_t
ret
=
taosCopyFds
(
pSynch
->
socketFd
,
pDFile
->
fd
,
writeLen
);
int
64_t
writeLen
=
pRDFile
->
info
.
size
;
int
64
_t
ret
=
taosCopyFds
(
pSynch
->
socketFd
,
pDFile
->
fd
,
writeLen
);
if
(
ret
!=
writeLen
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
tsdbError
(
"vgId:%d, failed to recv file:%s since %s, ret:%
d writeLen:%d"
,
REPO_ID
(
pRepo
),
pDFile
->
f
.
aname
,
tstrerror
(
terrno
),
ret
,
writeLen
);
tsdbError
(
"vgId:%d, failed to recv file:%s since %s, ret:%
"
PRId64
" writeLen:%"
PRId64
,
REPO_ID
(
pRepo
)
,
pDFile
->
f
.
aname
,
tstrerror
(
terrno
),
ret
,
writeLen
);
tsdbCloseDFileSet
(
&
fset
);
tsdbRemoveDFileSet
(
&
fset
);
return
-
1
;
...
...
@@ -476,7 +476,7 @@ static int32_t tsdbSyncRecvDFileSetArray(SSyncH *pSynch) {
// Update new file info
pDFile
->
info
=
pRDFile
->
info
;
tsdbInfo
(
"vgId:%d, file:%s is received, size:%
d"
,
REPO_ID
(
pRepo
),
pDFile
->
f
.
aname
,
writeLen
);
tsdbInfo
(
"vgId:%d, file:%s is received, size:%
"
PRId64
,
REPO_ID
(
pRepo
),
pDFile
->
f
.
aname
,
writeLen
);
}
tsdbCloseDFileSet
(
&
fset
);
...
...
@@ -575,14 +575,14 @@ static int32_t tsdbSyncSendDFileSet(SSyncH *pSynch, SDFileSet *pSet) {
return
-
1
;
}
int
32_t
writeLen
=
(
int32_t
)
df
.
info
.
size
;
tsdbInfo
(
"vgId:%d, file:%s will be sent, size:%
d"
,
REPO_ID
(
pRepo
),
df
.
f
.
aname
,
writeLen
);
int
64_t
writeLen
=
df
.
info
.
size
;
tsdbInfo
(
"vgId:%d, file:%s will be sent, size:%
"
PRId64
,
REPO_ID
(
pRepo
),
df
.
f
.
aname
,
writeLen
);
int
32_t
ret
=
(
int32_t
)
taosSendFile
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
df
),
0
,
writeLen
);
int
64_t
ret
=
taosSendFile
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
df
),
0
,
writeLen
);
if
(
ret
!=
writeLen
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
tsdbError
(
"vgId:%d, failed to send file:%s since %s, ret:%
d writeLen:%d"
,
REPO_ID
(
pRepo
),
df
.
f
.
aname
,
tstrerror
(
terrno
),
ret
,
writeLen
);
tsdbError
(
"vgId:%d, failed to send file:%s since %s, ret:%
"
PRId64
" writeLen:%"
PRId64
,
REPO_ID
(
pRepo
)
,
df
.
f
.
aname
,
tstrerror
(
terrno
),
ret
,
writeLen
);
tsdbCloseDFile
(
&
df
);
return
-
1
;
}
...
...
src/util/inc/tsocket.h
浏览文件 @
c65a1d93
...
...
@@ -28,7 +28,7 @@ int32_t taosReadn(SOCKET sock, char *buffer, int32_t len);
int32_t
taosWriteMsg
(
SOCKET
fd
,
void
*
ptr
,
int32_t
nbytes
);
int32_t
taosReadMsg
(
SOCKET
fd
,
void
*
ptr
,
int32_t
nbytes
);
int32_t
taosNonblockwrite
(
SOCKET
fd
,
char
*
ptr
,
int32_t
nbytes
);
int
32
_t
taosCopyFds
(
SOCKET
sfd
,
int32_t
dfd
,
int64_t
len
);
int
64
_t
taosCopyFds
(
SOCKET
sfd
,
int32_t
dfd
,
int64_t
len
);
int32_t
taosSetNonblocking
(
SOCKET
sock
,
int32_t
on
);
SOCKET
taosOpenUdpSocket
(
uint32_t
localIp
,
uint16_t
localPort
);
...
...
src/util/src/tsocket.c
浏览文件 @
c65a1d93
...
...
@@ -465,36 +465,36 @@ void tinet_ntoa(char *ipstr, uint32_t ip) {
#define COPY_SIZE 32768
// sendfile shall be used
int
32
_t
taosCopyFds
(
SOCKET
sfd
,
int32_t
dfd
,
int64_t
len
)
{
int
64
_t
taosCopyFds
(
SOCKET
sfd
,
int32_t
dfd
,
int64_t
len
)
{
int64_t
leftLen
;
int
32
_t
readLen
,
writeLen
;
int
64
_t
readLen
,
writeLen
;
char
temp
[
COPY_SIZE
];
leftLen
=
len
;
while
(
leftLen
>
0
)
{
if
(
leftLen
<
COPY_SIZE
)
readLen
=
(
int32_t
)
leftLen
;
readLen
=
leftLen
;
else
readLen
=
COPY_SIZE
;
// 4K
int
32
_t
retLen
=
taosReadMsg
(
sfd
,
temp
,
(
int32_t
)
readLen
);
int
64
_t
retLen
=
taosReadMsg
(
sfd
,
temp
,
(
int32_t
)
readLen
);
if
(
readLen
!=
retLen
)
{
uError
(
"read error, readLen:%
d retLen:%d len:%"
PRId64
" leftLen:%"
PRId64
", reason:%s"
,
readLen
,
retLen
,
len
,
leftLen
,
strerror
(
errno
));
uError
(
"read error, readLen:%
"
PRId64
" retLen:%"
PRId64
" len:%"
PRId64
" leftLen:%"
PRId64
", reason:%s"
,
readLen
,
retLen
,
len
,
leftLen
,
strerror
(
errno
));
return
-
1
;
}
writeLen
=
taosWriteMsg
(
dfd
,
temp
,
readLen
);
writeLen
=
taosWriteMsg
(
dfd
,
temp
,
(
int32_t
)
readLen
);
if
(
readLen
!=
writeLen
)
{
uError
(
"copy error, readLen:%
d writeLen:%d len:%"
PRId64
" leftLen:%"
PRId64
", reason:%s"
,
readLen
,
writeLen
,
len
,
leftLen
,
strerror
(
errno
));
uError
(
"copy error, readLen:%
"
PRId64
" writeLen:%"
PRId64
" len:%"
PRId64
" leftLen:%"
PRId64
", reason:%s"
,
readLen
,
writeLen
,
len
,
leftLen
,
strerror
(
errno
));
return
-
1
;
}
leftLen
-=
readLen
;
}
return
(
int32_t
)
len
;
return
len
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录