[
https://issues.apache.org/jira/browse/TINKERPOP-2617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17769799#comment-17769799
]
ASF GitHub Bot commented on TINKERPOP-2617:
-------------------------------------------
xiazcy commented on PR #1709:
URL: https://github.com/apache/tinkerpop/pull/1709#issuecomment-1738061207
Been open for a while with not much activity, we are closing this PR.
> Refactor Java Driver to have one method for connection selection
> ----------------------------------------------------------------
>
> Key: TINKERPOP-2617
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2617
> Project: TinkerPop
> Issue Type: Improvement
> Components: driver
> Affects Versions: 3.4.12
> Reporter: Stephen Mallette
> Priority: Minor
>
> To make a decision on whether a connection should be borrowed or not, a Java
> client today does two logic which are different from each other. They should
> both be same. One bit of logic to do so is at:
> {code}
> if (borrowed >= maxSimultaneousUsagePerConnection &&
> leastUsedConn.availableInProcess() == 0) {
> {code}
> and another is:
> {code}
> final int inFlight = leastUsed.borrowed.get();
> final int availableInProcess =
> leastUsed.availableInProcess();
> if (inFlight >= availableInProcess) {
> logger.debug("Least used {} on {} has requests
> borrowed [{}] >= availableInProcess [{}] - may timeout waiting for
> connection",
> leastUsed, host, inFlight,
> availableInProcess);
> break;
> }
> if (leastUsed.borrowed.compareAndSet(inFlight, inFlight +
> 1)) {
> if (logger.isDebugEnabled())
> logger.debug("Return least used {} on {} after
> waiting", leastUsed.getConnectionInfo(), host);
> return leastUsed;
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)