diff --git a/source/libs/transport/src/transCli.c b/source/libs/transport/src/transCli.c index 23ed1e78a1..3c74fbd168 100644 --- a/source/libs/transport/src/transCli.c +++ b/source/libs/transport/src/transCli.c @@ -3630,6 +3630,14 @@ static SCliConn* getConnFromHeapCache(SHashObj* pConnHeapCache, char* key) { return NULL; } code = transHeapGet(pHeap, &pConn); + if (pConn && taosHashGetSize(pConn->pQTable) > 0) { + tDebug("get conn %p from heap cache for key:%s, status:%d, refCnt:%d", pConn, key, pConn->inHeap, pConn->reqRefCnt); + return NULL; + } /*else { + // tDebug("failed to get conn from heap cache for key:%s", key); + // return NULL; + }*/ + if (code != 0) { tDebug("failed to get conn from heap cache for key:%s", key); return NULL; diff --git a/source/libs/transport/src/transSvr.c b/source/libs/transport/src/transSvr.c index 2d70e3e344..2b05ad1a65 100644 --- a/source/libs/transport/src/transSvr.c +++ b/source/libs/transport/src/transSvr.c @@ -1086,6 +1086,7 @@ void uvOnConnectionCb(uv_stream_t* q, ssize_t nread, const uv_buf_t* buf) { pConn->serverIp = saddr.sin_addr.s_addr; pConn->port = ntohs(addr.sin_port); + transSetConnOption((uv_tcp_t*)pConn->pTcp, 20); (void)uv_read_start((uv_stream_t*)(pConn->pTcp), uvAllocRecvBufferCb, uvOnRecvCb); } else {