You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by as...@apache.org on 2014/08/27 20:57:15 UTC
svn commit: r1620956 - in /httpcomponents/httpcore/trunk/httpcore-nio/src:
main/java/org/apache/http/nio/pool/RouteSpecificPool.java
test/java/org/apache/http/nio/pool/TestNIOConnPool.java
test/java/org/apache/http/nio/pool/TestRouteSpecificPool.java
Author: asankha
Date: Wed Aug 27 18:57:15 2014
New Revision: 1620956
URL: http://svn.apache.org/r1620956
Log:
make a connection exception throw a ConnectException instead of a SocketTimeoutException to allow a FutureCallback handler to correctly distinguish between the two events
Modified:
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/RouteSpecificPool.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestRouteSpecificPool.java
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/RouteSpecificPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/RouteSpecificPool.java?rev=1620956&r1=1620955&r2=1620956&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/RouteSpecificPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/RouteSpecificPool.java Wed Aug 27 18:57:15 2014
@@ -26,7 +26,7 @@
*/
package org.apache.http.nio.pool;
-import java.net.SocketTimeoutException;
+import java.net.ConnectException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -167,7 +167,7 @@ abstract class RouteSpecificPool<T, C, E
public void timeout(final SessionRequest request) {
final BasicFuture<E> future = removeRequest(request);
- future.failed(new SocketTimeoutException());
+ future.failed(new ConnectException());
}
public void shutdown() {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java?rev=1620956&r1=1620955&r2=1620956&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java Wed Aug 27 18:57:15 2014
@@ -29,7 +29,7 @@ package org.apache.http.nio.pool;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
-import java.net.SocketTimeoutException;
+import java.net.ConnectException;
import java.net.UnknownHostException;
import java.util.Collections;
import java.util.concurrent.ExecutionException;
@@ -296,7 +296,7 @@ public class TestNIOConnPool {
future.get();
Assert.fail("ExecutionException should have been thrown");
} catch (final ExecutionException ex) {
- Assert.assertTrue(ex.getCause() instanceof SocketTimeoutException);
+ Assert.assertTrue(ex.getCause() instanceof ConnectException);
}
totals = pool.getTotalStats();
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestRouteSpecificPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestRouteSpecificPool.java?rev=1620956&r1=1620955&r2=1620956&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestRouteSpecificPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestRouteSpecificPool.java Wed Aug 27 18:57:15 2014
@@ -27,7 +27,7 @@
package org.apache.http.nio.pool;
import java.io.IOException;
-import java.net.SocketTimeoutException;
+import java.net.ConnectException;
import java.util.concurrent.ExecutionException;
import org.apache.http.concurrent.BasicFuture;
@@ -171,7 +171,7 @@ public class TestRouteSpecificPool {
future.get();
Assert.fail("ExecutionException should have been thrown");
} catch (final ExecutionException ex) {
- Assert.assertTrue(ex.getCause() instanceof SocketTimeoutException);
+ Assert.assertTrue(ex.getCause() instanceof ConnectException);
}
Assert.assertEquals(0, pool.getAllocatedCount());
Assert.assertEquals(0, pool.getAvailableCount());