Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Not A Bug
-
5.2.1
-
None
-
None
Description
We tried to migrated to 5.2.1 from 5.1.4. Right away, our unit tests showed us that our HttpRequestInterceptor that was registered "addRequestInterceptorFirst" is not called before a connection is attempted to be established. Expected behaviour is that our interceptor validation would catch malformed urls, etc and kick out a known error to us. Now, NoRouteToHostException is being thrown before our interceptor logic is hit. The 'bad url' we were using in our test is:
To recreate, standup new HttpAsyncClient, register an interceptor in first position and force it to use HTTP 1.1, and then generate a GET request to https://google.com:555
java.net.NoRouteToHostException: No route to host at java.base/sun.nio.ch.Net.connect0(Native Method) at java.base/sun.nio.ch.Net.connect(Net.java:579) at java.base/sun.nio.ch.Net.connect(Net.java:586) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:853) at org.apache.hc.core5.reactor.SingleCoreIOReactor.lambda$processConnectionRequest$0(SingleCoreIOReactor.java:336) at java.base/java.security.AccessController.doPrivileged(AccessController.java:569) at org.apache.hc.core5.reactor.SingleCoreIOReactor.processConnectionRequest(SingleCoreIOReactor.java:335) at org.apache.hc.core5.reactor.SingleCoreIOReactor.processPendingConnectionRequests(SingleCoreIOReactor.java:307) at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:138) at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:86) at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44) at java.base/java.lang.Thread.run(Thread.java:833)