From 514b04a6bd71a8215fdd402091b5e4dfa397aa9d Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Fri, 11 Oct 2024 16:43:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/3.0' into enh/opt-transport --- source/libs/executor/src/exchangeoperator.c | 2 +- source/libs/transport/src/transCli.c | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/source/libs/executor/src/exchangeoperator.c b/source/libs/executor/src/exchangeoperator.c index 3861262a6c..6e4f288246 100644 --- a/source/libs/executor/src/exchangeoperator.c +++ b/source/libs/executor/src/exchangeoperator.c @@ -226,7 +226,7 @@ static SSDataBlock* doLoadRemoteDataImpl(SOperatorInfo* pOperator) { concurrentlyLoadRemoteDataImpl(pOperator, pExchangeInfo, pTaskInfo); } if (TSDB_CODE_SUCCESS != pOperator->pTaskInfo->code) { - qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code)); + qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(pOperator->pTaskInfo->code)); T_LONG_JMP(pTaskInfo->env, pOperator->pTaskInfo->code); } if (taosArrayGetSize(pExchangeInfo->pResultBlockList) == 0) { diff --git a/source/libs/transport/src/transCli.c b/source/libs/transport/src/transCli.c index a51d75a108..a17322db2d 100644 --- a/source/libs/transport/src/transCli.c +++ b/source/libs/transport/src/transCli.c @@ -474,10 +474,10 @@ int8_t cliMayRecycleConn(SCliConn* conn) { int32_t code = 0; SCliThrd* pThrd = conn->hostThrd; - code = balanceConnHeapCache(pThrd->connHeapCache, conn); - if (code != 0) { - tDebug("%s conn %p failed to balance heap cache", CONN_GET_INST_LABEL(conn), conn); - } + // code = balanceConnHeapCache(pThrd->connHeapCache, conn); + // if (code != 0) { + // tDebug("%s conn %p failed to balance heap cache", CONN_GET_INST_LABEL(conn), conn); + // } if (transQueueSize(&conn->reqsToSend) == 0 && transQueueSize(&conn->reqsSentOut) == 0 && taosHashGetSize(conn->pQTable) == 0) { code = delConnFromHeapCache(pThrd->connHeapCache, conn); @@ -3741,6 +3741,9 @@ static SCliConn* getConnFromHeapCache(SHashObj* pConnHeapCache, char* key) { tDebug("failed to get conn from heap cache for key:%s", key); return NULL; } else { + if (pHeap->heap->nelts >= 16) { + balanceConnHeapCache(pConnHeapCache, pConn); + } if (shouldSWitchToOtherConn(pConn, key)) { logConnMissHit(pConn); return NULL; @@ -3789,7 +3792,7 @@ static int32_t delConnFromHeapCache(SHashObj* pConnHeapCache, SCliConn* pConn) { } static int32_t balanceConnHeapCache(SHashObj* pConnHeapCache, SCliConn* pConn) { - if (pConn->heap != NULL) { + if (pConn->heap != NULL && pConn->inHeap != 0) { return transHeapBalance(pConn->heap, pConn); } return 0;