Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
3ef0c27a
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看板
未验证
提交
3ef0c27a
编写于
10月 24, 2022
作者:
S
Shengliang Guan
提交者:
GitHub
10月 24, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #15521 from shiyi23/hsy_dev_newest
fix: Cover Scan
上级
77ca7152
e2cbf7cb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
43 addition
and
14 deletion
+43
-14
src/inc/tsync.h
src/inc/tsync.h
+1
-1
src/sync/src/syncMain.c
src/sync/src/syncMain.c
+42
-13
未找到文件。
src/inc/tsync.h
浏览文件 @
3ef0c27a
...
...
@@ -41,7 +41,7 @@ typedef enum {
typedef
struct
{
uint32_t
nodeId
;
// node ID assigned by TDengine
uint16_t
nodePort
;
// node sync Port
char
nodeFqdn
[
TSDB_FQDN_LEN
];
// node FQDN
char
nodeFqdn
[
TSDB_FQDN_LEN
*
2
];
// node FQDN
}
SNodeInfo
;
typedef
struct
{
...
...
src/sync/src/syncMain.c
浏览文件 @
3ef0c27a
...
...
@@ -418,8 +418,12 @@ void syncRecover(int64_t rid) {
nodeRole
=
TAOS_SYNC_ROLE_UNSYNCED
;
(
*
pNode
->
notifyRoleFp
)(
pNode
->
vgId
,
nodeRole
);
pthread_mutex_lock
(
&
pNode
->
mutex
);
// pthread_mutex_lock(&pNode->mutex);
int
err
=
pthread_mutex_trylock
(
&
pNode
->
mutex
);
if
(
EBUSY
==
err
)
{
sDebug
(
"pthread_mutex_trylock failed!"
);
}
nodeVersion
=
0
;
for
(
int32_t
i
=
0
;
i
<
pNode
->
replica
;
++
i
)
{
...
...
@@ -431,7 +435,7 @@ void syncRecover(int64_t rid) {
}
}
pthread_mutex_unlock
(
&
pNode
->
mutex
);
if
(
0
==
err
)
pthread_mutex_unlock
(
&
pNode
->
mutex
);
syncReleaseNode
(
pNode
);
}
...
...
@@ -987,12 +991,17 @@ static void syncNotStarted(void *param, void *tmrId) {
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
pthread_mutex_lock
(
&
pNode
->
mutex
);
// pthread_mutex_lock(&pNode->mutex);
int
err
=
pthread_mutex_trylock
(
&
pNode
->
mutex
);
if
(
EBUSY
==
err
)
{
sDebug
(
"pthread_mutex_trylock failed!"
);
}
pPeer
->
timer
=
NULL
;
pPeer
->
sstatus
=
TAOS_SYNC_STATUS_INIT
;
sInfo
(
"%s, sync conn is still not up, restart and set sstatus:%s"
,
pPeer
->
id
,
syncStatus
[
pPeer
->
sstatus
]);
syncRestartConnection
(
pPeer
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
if
(
0
==
err
)
pthread_mutex_unlock
(
&
pNode
->
mutex
);
syncReleasePeer
(
pPeer
);
}
...
...
@@ -1136,7 +1145,12 @@ static int32_t syncProcessPeerMsg(int64_t rid, void *buffer) {
SSyncHead
*
pHead
=
buffer
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
pthread_mutex_lock
(
&
pNode
->
mutex
);
// pthread_mutex_lock(&pNode->mutex);
int
err
=
pthread_mutex_trylock
(
&
pNode
->
mutex
);
if
(
EBUSY
==
err
)
{
sDebug
(
"pthread_mutex_trylock failed!"
);
}
int32_t
code
=
syncReadPeerMsg
(
pPeer
,
pHead
);
...
...
@@ -1152,7 +1166,7 @@ static int32_t syncProcessPeerMsg(int64_t rid, void *buffer) {
}
}
pthread_mutex_unlock
(
&
pNode
->
mutex
);
if
(
0
==
err
)
pthread_mutex_unlock
(
&
pNode
->
mutex
);
syncReleasePeer
(
pPeer
);
return
code
;
...
...
@@ -1245,12 +1259,17 @@ static void syncCheckPeerConnection(void *param, void *tmrId) {
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
pthread_mutex_lock
(
&
pNode
->
mutex
);
// pthread_mutex_lock(&pNode->mutex);
int
err
=
pthread_mutex_trylock
(
&
pNode
->
mutex
);
if
(
EBUSY
==
err
)
{
sDebug
(
"pthread_mutex_trylock failed!"
);
}
sDebug
(
"%s, check peer connection"
,
pPeer
->
id
);
syncSetupPeerConnection
(
pPeer
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
if
(
0
==
err
)
pthread_mutex_unlock
(
&
pNode
->
mutex
);
syncReleasePeer
(
pPeer
);
}
...
...
@@ -1331,7 +1350,12 @@ static void syncProcessIncommingConnection(SOCKET connFd, uint32_t sourceIp) {
sDebug
(
"vgId:%d, sync connection is incoming, tranId:%u"
,
vgId
,
msg
.
tranId
);
SSyncNode
*
pNode
=
*
ppNode
;
pthread_mutex_lock
(
&
pNode
->
mutex
);
// pthread_mutex_lock(&pNode->mutex);
int
err
=
pthread_mutex_trylock
(
&
pNode
->
mutex
);
if
(
EBUSY
==
err
)
{
sDebug
(
"pthread_mutex_trylock failed!"
);
}
SSyncPeer
*
pPeer
;
for
(
i
=
0
;
i
<
pNode
->
replica
;
++
i
)
{
...
...
@@ -1362,7 +1386,7 @@ static void syncProcessIncommingConnection(SOCKET connFd, uint32_t sourceIp) {
}
}
pthread_mutex_unlock
(
&
pNode
->
mutex
);
if
(
0
==
err
)
pthread_mutex_unlock
(
&
pNode
->
mutex
);
}
static
void
syncProcessBrokenLink
(
int64_t
rid
,
int32_t
closedByApp
)
{
...
...
@@ -1371,7 +1395,12 @@ static void syncProcessBrokenLink(int64_t rid, int32_t closedByApp) {
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
pthread_mutex_lock
(
&
pNode
->
mutex
);
// pthread_mutex_lock(&pNode->mutex);
int
err
=
pthread_mutex_trylock
(
&
pNode
->
mutex
);
if
(
EBUSY
==
err
)
{
sDebug
(
"pthread_mutex_trylock failed!"
);
}
sDebug
(
"%s, TCP link is broken since %s, pfd:%d sfd:%d closedByApp:%d"
,
pPeer
->
id
,
strerror
(
errno
),
pPeer
->
peerFd
,
pPeer
->
syncFd
,
closedByApp
);
...
...
@@ -1381,7 +1410,7 @@ static void syncProcessBrokenLink(int64_t rid, int32_t closedByApp) {
}
syncRestartConnection
(
pPeer
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
if
(
0
==
err
)
pthread_mutex_unlock
(
&
pNode
->
mutex
);
syncReleasePeer
(
pPeer
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录