refactor transport
This commit is contained in:
parent
d6f1ab52fa
commit
bd132a8fbd
|
@ -497,10 +497,34 @@ int8_t cliMayRecycleConn(SCliConn* conn) {
|
||||||
}
|
}
|
||||||
addConnToPool(pThrd->pool, conn);
|
addConnToPool(pThrd->pool, conn);
|
||||||
return 1;
|
return 1;
|
||||||
} else if ((transQueueSize(&conn->reqsToSend) == 0) &&
|
} else if ((transQueueSize(&conn->reqsToSend) == 0) && (transQueueSize(&conn->reqsSentOut) == 0) &&
|
||||||
((pInst->shareConnLimit >= 2) && (transQueueSize(&conn->reqsSentOut) > 0) &&
|
(taosHashGetSize(conn->pQTable) != 0)) {
|
||||||
transQueueSize(&conn->reqsSentOut) <= pInst->shareConnLimit / 2)) {
|
tDebug("%s conn %p do balance directly", CONN_GET_INST_LABEL(conn), conn, conn);
|
||||||
TAOS_UNUSED(transHeapBalance(conn->heap, conn));
|
TAOS_UNUSED(transHeapBalance(conn->heap, conn));
|
||||||
|
} else if ((transQueueSize(&conn->reqsToSend) == 0) &&
|
||||||
|
((pInst->shareConnLimit >= 4) && ((transQueueSize(&conn->reqsSentOut) > 0) &&
|
||||||
|
transQueueSize(&conn->reqsSentOut) < pInst->shareConnLimit / 2))) {
|
||||||
|
SCliConn* topConn = NULL;
|
||||||
|
if (conn->heap != NULL) {
|
||||||
|
code = transHeapGet(conn->heap, &topConn);
|
||||||
|
if (code != 0) {
|
||||||
|
tDebug("%s conn %p failed to get top conn since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (topConn == conn) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int32_t topReqs = transQueueSize(&topConn->reqsSentOut) + transQueueSize(&topConn->reqsToSend);
|
||||||
|
int32_t currReqs = transQueueSize(&conn->reqsSentOut) + transQueueSize(&conn->reqsToSend);
|
||||||
|
if (topReqs <= currReqs) {
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
tDebug("%s conn %p do balance conn heap since top conn has more reqs, topConnReqs:%d, currConnReqs:%d",
|
||||||
|
CONN_GET_INST_LABEL(conn), conn, topReqs, currReqs);
|
||||||
|
TAOS_UNUSED(transHeapBalance(conn->heap, conn));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue