From 92fc12611bfcb2f6dbdc6463e138f11aff083b8e Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Thu, 19 Sep 2024 19:53:15 +0800 Subject: [PATCH] fix invalid read --- source/dnode/mgmt/node_mgmt/src/dmTransport.c | 6 +++--- source/libs/transport/src/transCli.c | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/source/dnode/mgmt/node_mgmt/src/dmTransport.c b/source/dnode/mgmt/node_mgmt/src/dmTransport.c index 060fce5808..65ed380067 100644 --- a/source/dnode/mgmt/node_mgmt/src/dmTransport.c +++ b/source/dnode/mgmt/node_mgmt/src/dmTransport.c @@ -392,7 +392,7 @@ int32_t dmInitClient(SDnode *pDnode) { rpcInit.notWaitAvaliableConn = 0; (void)taosVersionStrToInt(version, &(rpcInit.compatibilityVer)); - rpcInit.startReadTimer = 1; + rpcInit.startReadTimer = 0; pTrans->clientRpc = rpcOpen(&rpcInit); if (pTrans->clientRpc == NULL) { dError("failed to init dnode rpc client since:%s", tstrerror(terrno)); @@ -435,7 +435,7 @@ int32_t dmInitStatusClient(SDnode *pDnode) { rpcInit.supportBatch = 1; rpcInit.batchSize = 8 * 1024; rpcInit.timeToGetConn = tsTimeToGetAvailableConn; - rpcInit.startReadTimer = 1; + rpcInit.startReadTimer = 0; (void)taosVersionStrToInt(version, &(rpcInit.compatibilityVer)); pTrans->statusRpc = rpcOpen(&rpcInit); @@ -482,7 +482,7 @@ int32_t dmInitSyncClient(SDnode *pDnode) { rpcInit.batchSize = 8 * 1024; rpcInit.timeToGetConn = tsTimeToGetAvailableConn; (void)taosVersionStrToInt(version, &(rpcInit.compatibilityVer)); - rpcInit.startReadTimer = 1; + rpcInit.startReadTimer = 0; pTrans->syncRpc = rpcOpen(&rpcInit); if (pTrans->syncRpc == NULL) { dError("failed to init dnode rpc sync client since %s", tstrerror(terrno)); diff --git a/source/libs/transport/src/transCli.c b/source/libs/transport/src/transCli.c index b85d5214fd..e6315761c7 100644 --- a/source/libs/transport/src/transCli.c +++ b/source/libs/transport/src/transCli.c @@ -657,6 +657,11 @@ void cliConnCheckTimoutMsg(SCliConn* conn) { QUEUE_INIT(&set); SCliThrd* pThrd = conn->hostThrd; STrans* pInst = pThrd->pInst; + + if (pInst->startReadTimer == 0) { + return; + } + if (transQueueSize(&conn->reqsSentOut) == 0) { return; }