You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2016/12/02 18:56:41 UTC
svn commit: r1772397 -
/httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/nio/AbstractNIOConnPool.java
Author: olegk
Date: Fri Dec 2 18:56:41 2016
New Revision: 1772397
URL: http://svn.apache.org/viewvc?rev=1772397&view=rev
Log:
HTTPCORE-429: NIO connection pool incorrectly reports the number of pending connections per individual route
Modified:
httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/nio/AbstractNIOConnPool.java
Modified: httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/nio/AbstractNIOConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/nio/AbstractNIOConnPool.java?rev=1772397&r1=1772396&r2=1772397&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/nio/AbstractNIOConnPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/nio/AbstractNIOConnPool.java Fri Dec 2 18:56:41 2016
@@ -59,6 +59,7 @@ import org.apache.hc.core5.reactor.Sessi
import org.apache.hc.core5.reactor.SessionRequestCallback;
import org.apache.hc.core5.util.Args;
import org.apache.hc.core5.util.Asserts;
+import org.apache.hc.core5.util.LangUtils;
/**
* Abstract non-blocking connection pool.
@@ -614,9 +615,15 @@ public abstract class AbstractNIOConnPoo
this.lock.lock();
try {
final RouteSpecificPool<T, C, E> pool = getPool(route);
+ int pendingCount = 0;
+ for (LeaseRequest<T, C, E> request: leasingRequests) {
+ if (LangUtils.equals(route, request.getRoute())) {
+ pendingCount++;
+ }
+ }
return new PoolStats(
pool.getLeasedCount(),
- pool.getPendingCount(),
+ pendingCount + pool.getPendingCount(),
pool.getAvailableCount(),
getMax(route));
} finally {