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 2017/05/10 07:33:51 UTC
[04/13] httpcomponents-core git commit: HTTPASYNC-116: Remove
cancelled lease requests from the request queue when validating pending
requests
HTTPASYNC-116: Remove cancelled lease requests from the request queue when validating pending requests
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpcore/branches/4.4.x@1780653 13f79535-47bb-0310-9956-ffa450edef68
Project: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/commit/55d881e0
Tree: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/tree/55d881e0
Diff: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/diff/55d881e0
Branch: refs/heads/HTTPCORE-446
Commit: 55d881e0257be8c2a57c992a4fd2bdd158e86d7b
Parents: 7dc16b8
Author: olegk <ol...@13f79535-47bb-0310-9956-ffa450edef68>
Authored: Sat Jan 28 10:34:41 2017 +0000
Committer: olegk <ol...@13f79535-47bb-0310-9956-ffa450edef68>
Committed: Sat Jan 28 10:34:41 2017 +0000
----------------------------------------------------------------------
.../apache/http/nio/pool/AbstractNIOConnPool.java | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/httpcomponents-core/blob/55d881e0/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
----------------------------------------------------------------------
diff --git a/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java b/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
index b4ee96d..603b71d 100644
--- a/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
+++ b/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
@@ -484,11 +484,18 @@ public abstract class AbstractNIOConnPool<T, C, E extends PoolEntry<T, C>>
final ListIterator<LeaseRequest<T, C, E>> it = this.leasingRequests.listIterator();
while (it.hasNext()) {
final LeaseRequest<T, C, E> request = it.next();
- final long deadline = request.getDeadline();
- if (now > deadline) {
+ final BasicFuture<E> future = request.getFuture();
+ if (future.isCancelled() && !request.isDone()) {
it.remove();
- request.failed(new TimeoutException());
- this.completedRequests.add(request);
+ } else {
+ final long deadline = request.getDeadline();
+ if (now > deadline) {
+ request.failed(new TimeoutException());
+ }
+ if (request.isDone()) {
+ it.remove();
+ this.completedRequests.add(request);
+ }
}
}
} finally {