From 91abb86693fc9a9857fff73f447b93eab5b2d77e Mon Sep 17 00:00:00 2001 From: dmchen Date: Fri, 27 Dec 2024 02:22:54 +0000 Subject: [PATCH] fix/resolve_fqdn_retry_times --- source/libs/sync/src/syncUtil.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/source/libs/sync/src/syncUtil.c b/source/libs/sync/src/syncUtil.c index d9eff2e9b8..38fd660cfd 100644 --- a/source/libs/sync/src/syncUtil.c +++ b/source/libs/sync/src/syncUtil.c @@ -24,6 +24,8 @@ #include "tglobal.h" #include "ttime.h" +#define FQDNRETRYTIMES 100 + static void syncCfg2SimpleStr(const SSyncCfg* pCfg, char* buf, int32_t bufLen) { int32_t len = tsnprintf(buf, bufLen, "{num:%d, as:%d, [", pCfg->replicaNum, pCfg->myIndex); for (int32_t i = 0; i < pCfg->replicaNum; ++i) { @@ -46,9 +48,14 @@ bool syncUtilNodeInfo2RaftId(const SNodeInfo* pInfo, SyncGroupId vgId, SRaftId* uint32_t ipv4 = 0xFFFFFFFF; sDebug("vgId:%d, resolve sync addr from fqdn, ep:%s:%u", vgId, pInfo->nodeFqdn, pInfo->nodePort); - int32_t code = taosGetIpv4FromFqdn(pInfo->nodeFqdn, &ipv4); - if (code) { - sError("vgId:%d, failed to resolve sync addr, dnode:%d fqdn:%s, retry", vgId, pInfo->nodeId, pInfo->nodeFqdn); + for (int32_t i = 0; i < FQDNRETRYTIMES; i++) { + int32_t code = taosGetIpv4FromFqdn(pInfo->nodeFqdn, &ipv4); + if (code) { + sError("vgId:%d, failed to resolve sync addr, dnode:%d fqdn:%s, retry", vgId, pInfo->nodeId, pInfo->nodeFqdn); + taosSsleep(1); + } else { + break; + } } if (ipv4 == 0xFFFFFFFF || ipv4 == 1) {