From af053ec75bc0c0d65eb318b534ebe4101aef2721 Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Wed, 5 Jul 2023 11:15:12 +0000 Subject: [PATCH] add version check in rpc --- source/dnode/mgmt/node_mgmt/src/dmTransport.c | 1 + source/libs/transport/src/transCli.c | 1 + source/libs/transport/src/transSvr.c | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/source/dnode/mgmt/node_mgmt/src/dmTransport.c b/source/dnode/mgmt/node_mgmt/src/dmTransport.c index e6c2fe114f..a7a7273bd0 100644 --- a/source/dnode/mgmt/node_mgmt/src/dmTransport.c +++ b/source/dnode/mgmt/node_mgmt/src/dmTransport.c @@ -77,6 +77,7 @@ static void dmProcessRpcMsg(SDnode *pDnode, SRpcMsg *pRpc, SEpSet *pEpSet) { int32_t svrVer = 0; taosVersionStrToInt(version, &svrVer); if (0 != taosCheckVersionCompatible(pRpc->info.cliVer, svrVer, 3)) { + dError("msg ver: %d, curr ver: %d", pRpc->info.cliVer, svrVer); goto _OVER; } diff --git a/source/libs/transport/src/transCli.c b/source/libs/transport/src/transCli.c index 8af4427e22..e2d4983e57 100644 --- a/source/libs/transport/src/transCli.c +++ b/source/libs/transport/src/transCli.c @@ -391,6 +391,7 @@ void cliHandleResp(SCliConn* conn) { transMsg.info.ahandle = NULL; transMsg.info.traceId = pHead->traceId; transMsg.info.hasEpSet = pHead->hasEpSet; + transMsg.info.cliVer = pHead->compatibilityVer; SCliMsg* pMsg = NULL; STransConnCtx* pCtx = NULL; diff --git a/source/libs/transport/src/transSvr.c b/source/libs/transport/src/transSvr.c index 496295938a..0f165d04b2 100644 --- a/source/libs/transport/src/transSvr.c +++ b/source/libs/transport/src/transSvr.c @@ -196,6 +196,7 @@ static bool uvHandleReq(SSvrConn* pConn) { tError("%s conn %p recv invalid packet, failed to decompress", transLabel(pTransInst), pConn); return false; } + tDebug("head version: %d 2", pHead->version); pHead->code = htonl(pHead->code); pHead->msgLen = htonl(pHead->msgLen); @@ -411,7 +412,7 @@ static int uvPrepareSendData(SSvrMsg* smsg, uv_buf_t* wb) { pHead->traceId = pMsg->info.traceId; pHead->hasEpSet = pMsg->info.hasEpSet; pHead->magicNum = htonl(TRANS_MAGIC_NUM); - pHead->compatibilityVer = 0; + pHead->compatibilityVer = ((STrans*)pConn->pTransInst)->compatibilityVer; pHead->version = TRANS_VER; // handle invalid drop_task resp, TD-20098