Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
b0dfae00
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
b0dfae00
编写于
7月 25, 2023
作者:
H
Haojun Liao
提交者:
GitHub
7月 25, 2023
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #22167 from taosdata/fix/TD-25308
fix err while connect invalid fqdn
上级
29460db6
6532afa7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
30 addition
and
10 deletion
+30
-10
source/client/src/clientImpl.c
source/client/src/clientImpl.c
+19
-6
source/client/src/clientMsgHandler.c
source/client/src/clientMsgHandler.c
+11
-4
未找到文件。
source/client/src/clientImpl.c
浏览文件 @
b0dfae00
...
@@ -1297,13 +1297,19 @@ int initEpSetFromCfg(const char* firstEp, const char* secondEp, SCorEpSet* pEpSe
...
@@ -1297,13 +1297,19 @@ int initEpSetFromCfg(const char* firstEp, const char* secondEp, SCorEpSet* pEpSe
return
-
1
;
return
-
1
;
}
}
int32_t
code
=
taosGetFqdnPortFromEp
(
firstEp
,
&
mgmtEpSet
->
eps
[
0
]);
int32_t
code
=
taosGetFqdnPortFromEp
(
firstEp
,
&
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
]);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
terrno
=
TSDB_CODE_TSC_INVALID_FQDN
;
terrno
=
TSDB_CODE_TSC_INVALID_FQDN
;
return
terrno
;
return
terrno
;
}
}
uint32_t
addr
=
taosGetIpv4FromFqdn
(
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
].
fqdn
);
mgmtEpSet
->
numOfEps
++
;
if
(
addr
==
0xffffffff
)
{
tscError
(
"failed to resolve firstEp fqdn: %s, code:%s"
,
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
].
fqdn
,
tstrerror
(
TSDB_CODE_TSC_INVALID_FQDN
));
memset
(
&
(
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
]),
0
,
sizeof
(
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
]));
}
else
{
mgmtEpSet
->
numOfEps
++
;
}
}
}
if
(
secondEp
&&
secondEp
[
0
]
!=
0
)
{
if
(
secondEp
&&
secondEp
[
0
]
!=
0
)
{
...
@@ -1313,12 +1319,19 @@ int initEpSetFromCfg(const char* firstEp, const char* secondEp, SCorEpSet* pEpSe
...
@@ -1313,12 +1319,19 @@ int initEpSetFromCfg(const char* firstEp, const char* secondEp, SCorEpSet* pEpSe
}
}
taosGetFqdnPortFromEp
(
secondEp
,
&
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
]);
taosGetFqdnPortFromEp
(
secondEp
,
&
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
]);
mgmtEpSet
->
numOfEps
++
;
uint32_t
addr
=
taosGetIpv4FromFqdn
(
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
].
fqdn
);
if
(
addr
==
0xffffffff
)
{
tscError
(
"failed to resolve secondEp fqdn: %s, code:%s"
,
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
].
fqdn
,
tstrerror
(
TSDB_CODE_TSC_INVALID_FQDN
));
memset
(
&
(
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
]),
0
,
sizeof
(
mgmtEpSet
->
eps
[
mgmtEpSet
->
numOfEps
]));
}
else
{
mgmtEpSet
->
numOfEps
++
;
}
}
}
if
(
mgmtEpSet
->
numOfEps
==
0
)
{
if
(
mgmtEpSet
->
numOfEps
==
0
)
{
terrno
=
TSDB_CODE_
TSC_INVALID_FQDN
;
terrno
=
TSDB_CODE_
RPC_NETWORK_UNAVAIL
;
return
-
1
;
return
TSDB_CODE_RPC_NETWORK_UNAVAIL
;
}
}
return
0
;
return
0
;
...
...
source/client/src/clientMsgHandler.c
浏览文件 @
b0dfae00
...
@@ -99,13 +99,20 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
...
@@ -99,13 +99,20 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
goto
End
;
goto
End
;
}
}
int
updateEpSet
=
1
;
if
(
connectRsp
.
dnodeNum
==
1
)
{
if
(
connectRsp
.
dnodeNum
==
1
)
{
SEpSet
srcEpSet
=
getEpSet_s
(
&
pTscObj
->
pAppInfo
->
mgmtEp
);
SEpSet
srcEpSet
=
getEpSet_s
(
&
pTscObj
->
pAppInfo
->
mgmtEp
);
SEpSet
dstEpSet
=
connectRsp
.
epSet
;
SEpSet
dstEpSet
=
connectRsp
.
epSet
;
rpcSetDefaultAddr
(
pTscObj
->
pAppInfo
->
pTransporter
,
srcEpSet
.
eps
[
srcEpSet
.
inUse
].
fqdn
,
if
(
srcEpSet
.
numOfEps
==
1
)
{
dstEpSet
.
eps
[
dstEpSet
.
inUse
].
fqdn
);
rpcSetDefaultAddr
(
pTscObj
->
pAppInfo
->
pTransporter
,
srcEpSet
.
eps
[
srcEpSet
.
inUse
].
fqdn
,
}
else
if
(
connectRsp
.
dnodeNum
>
1
&&
!
isEpsetEqual
(
&
pTscObj
->
pAppInfo
->
mgmtEp
.
epSet
,
&
connectRsp
.
epSet
))
{
dstEpSet
.
eps
[
dstEpSet
.
inUse
].
fqdn
);
SEpSet
*
pOrig
=
&
pTscObj
->
pAppInfo
->
mgmtEp
.
epSet
;
updateEpSet
=
0
;
}
}
if
(
updateEpSet
==
1
&&
!
isEpsetEqual
(
&
pTscObj
->
pAppInfo
->
mgmtEp
.
epSet
,
&
connectRsp
.
epSet
))
{
SEpSet
corEpSet
=
getEpSet_s
(
&
pTscObj
->
pAppInfo
->
mgmtEp
);
SEpSet
*
pOrig
=
&
corEpSet
;
SEp
*
pOrigEp
=
&
pOrig
->
eps
[
pOrig
->
inUse
];
SEp
*
pOrigEp
=
&
pOrig
->
eps
[
pOrig
->
inUse
];
SEp
*
pNewEp
=
&
connectRsp
.
epSet
.
eps
[
connectRsp
.
epSet
.
inUse
];
SEp
*
pNewEp
=
&
connectRsp
.
epSet
.
eps
[
connectRsp
.
epSet
.
inUse
];
tscDebug
(
"mnode epset updated from %d/%d=>%s:%d to %d/%d=>%s:%d in connRsp"
,
pOrig
->
inUse
,
pOrig
->
numOfEps
,
tscDebug
(
"mnode epset updated from %d/%d=>%s:%d to %d/%d=>%s:%d in connRsp"
,
pOrig
->
inUse
,
pOrig
->
numOfEps
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录