diff --git a/src/common/inc/tglobal.h b/src/common/inc/tglobal.h index 234fb80be0a2b1b745de364b47918b1e789c43bc..f462cc1037f972328da01969aa4b420ad225407e 100644 --- a/src/common/inc/tglobal.h +++ b/src/common/inc/tglobal.h @@ -44,6 +44,7 @@ extern int32_t tsDnodeId; extern int64_t tsDnodeStartTime; extern int8_t tsDnodeNopLoop; extern int32_t tsTcpConnTimeout; +extern int32_t tsSyncCheckInterval; // common extern int tsRpcTimer; diff --git a/src/common/src/tglobal.c b/src/common/src/tglobal.c index dffdc3a6eb0c3efa39ae3363fa192228c3ee78c4..0e4d412cdc6c6df9c975513d68866b295816abba 100644 --- a/src/common/src/tglobal.c +++ b/src/common/src/tglobal.c @@ -48,7 +48,8 @@ char tsEmail[TSDB_FQDN_LEN] = {0}; int32_t tsDnodeId = 0; int64_t tsDnodeStartTime = 0; int8_t tsDnodeNopLoop = 0; -int32_t tsTcpConnTimeout = 1; // timeout for tcp client connection in second. +int32_t tsTcpConnTimeout = 1000; // timeout for tcp client connection in ms. +int32_t tsSyncCheckInterval = 1000; // peer sync check interval in ms. // common int32_t tsRpcTimer = 300; @@ -641,7 +642,17 @@ static void doInitGlobalConfig(void) { cfg.valType = TAOS_CFG_VTYPE_INT32; cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_SHOW; cfg.minValue = 1; - cfg.maxValue = 10; + cfg.maxValue = 10000; + cfg.ptrLength = 0; + cfg.unitType = TAOS_CFG_UTYPE_SECOND; + taosInitConfigOption(cfg); + + cfg.option = "syncCheckInterval"; + cfg.ptr = &tsSyncCheckInterval; + cfg.valType = TAOS_CFG_VTYPE_INT32; + cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_SHOW; + cfg.minValue = 1; + cfg.maxValue = 10000; cfg.ptrLength = 0; cfg.unitType = TAOS_CFG_UTYPE_SECOND; taosInitConfigOption(cfg); diff --git a/src/sync/src/syncMain.c b/src/sync/src/syncMain.c index a8b5a8f403cb9ca0c897d77db280e5a331c1f32e..be35f3aaf9ed80fb66414e918e920fcd714620e1 100644 --- a/src/sync/src/syncMain.c +++ b/src/sync/src/syncMain.c @@ -871,7 +871,7 @@ static void syncRestartPeer(SSyncPeer *pPeer) { int32_t ret = strcmp(pPeer->fqdn, tsNodeFqdn); if (pPeer->nodeId == 0 || ret > 0 || (ret == 0 && pPeer->port > tsSyncPort)) { sDebug("%s, check peer connection in 1000 ms", pPeer->id); - taosTmrReset(syncCheckPeerConnection, SYNC_CHECK_INTERVAL, (void *)pPeer->rid, tsSyncTmrCtrl, &pPeer->timer); + taosTmrReset(syncCheckPeerConnection, tsSyncCheckInterval, (void *)pPeer->rid, tsSyncTmrCtrl, &pPeer->timer); } } @@ -976,7 +976,7 @@ static void syncRecoverFromMaster(SSyncPeer *pPeer) { SSyncMsg msg; syncBuildSyncReqMsg(&msg, pNode->vgId); - taosTmrReset(syncNotStarted, SYNC_CHECK_INTERVAL, (void *)pPeer->rid, tsSyncTmrCtrl, &pPeer->timer); + taosTmrReset(syncNotStarted, tsSyncCheckInterval, (void *)pPeer->rid, tsSyncTmrCtrl, &pPeer->timer); if (taosWriteMsg(pPeer->peerFd, &msg, sizeof(SSyncMsg)) != sizeof(SSyncMsg)) { sError("%s, failed to send sync-req to peer", pPeer->id); @@ -1149,14 +1149,14 @@ static void syncSetupPeerConnection(SSyncPeer *pPeer) { uint32_t ip = syncResolvePeerFqdn(pPeer); if (!ip) { - taosTmrReset(syncCheckPeerConnection, SYNC_CHECK_INTERVAL, (void *)pPeer->rid, tsSyncTmrCtrl, &pPeer->timer); + taosTmrReset(syncCheckPeerConnection, tsSyncCheckInterval, (void *)pPeer->rid, tsSyncTmrCtrl, &pPeer->timer); return; } SOCKET connFd = taosOpenTcpClientSocket(ip, pPeer->port, 0); if (connFd <= 0) { sDebug("%s, failed to open tcp socket since %s", pPeer->id, strerror(errno)); - taosTmrReset(syncCheckPeerConnection, SYNC_CHECK_INTERVAL, (void *)pPeer->rid, tsSyncTmrCtrl, &pPeer->timer); + taosTmrReset(syncCheckPeerConnection, tsSyncCheckInterval, (void *)pPeer->rid, tsSyncTmrCtrl, &pPeer->timer); return; } @@ -1177,7 +1177,7 @@ static void syncSetupPeerConnection(SSyncPeer *pPeer) { } else { sDebug("%s, failed to setup peer connection to server since %s, try later", pPeer->id, strerror(errno)); taosCloseSocket(connFd); - taosTmrReset(syncCheckPeerConnection, SYNC_CHECK_INTERVAL, (void *)pPeer->rid, tsSyncTmrCtrl, &pPeer->timer); + taosTmrReset(syncCheckPeerConnection, tsSyncCheckInterval, (void *)pPeer->rid, tsSyncTmrCtrl, &pPeer->timer); } } diff --git a/src/util/inc/tconfig.h b/src/util/inc/tconfig.h index c0a4986936f7d43d48aa4fac0be6f427f5db32f5..acff4168cfbbd2c1b8578fe0075ac173bfd43beb 100644 --- a/src/util/inc/tconfig.h +++ b/src/util/inc/tconfig.h @@ -20,7 +20,7 @@ extern "C" { #endif -#define TSDB_CFG_MAX_NUM 133 +#define TSDB_CFG_MAX_NUM 135 #define TSDB_CFG_PRINT_LEN 23 #define TSDB_CFG_OPTION_LEN 24 #define TSDB_CFG_VALUE_LEN 41 diff --git a/src/util/src/tsocket.c b/src/util/src/tsocket.c index 808c3c8eaa9100a724b58654f240ab45b31be543..0ebe9c8f8af23186fb4cd60824bfa5641d2090a9 100644 --- a/src/util/src/tsocket.c +++ b/src/util/src/tsocket.c @@ -363,7 +363,7 @@ SOCKET taosOpenTcpClientSocket(uint32_t destIp, uint16_t destPort, uint32_t clie wfd[0].fd = sockFd; wfd[0].events = POLLOUT; - int res = poll(wfd, 1, tsTcpConnTimeout * 1000); + int res = poll(wfd, 1, tsTcpConnTimeout); if (res == -1 || res == 0) { uError("failed to connect socket, ip:0x%x, port:%hu(poll error/conn timeout)", destIp, destPort); taosCloseSocket(sockFd); //