Currently, I tried to work around by setting configureBlocking(true).
However, it seems to introduce another issue where
initialAsynchronousTransfer() seems to be called multiple times by different
threads causing the following stack trace
Caused by: java.lang.IllegalStateException: Async transfer has already been
initiated.
at
com.ning.http.client.providers.grizzly.FeedableBodyGenerator.initializeAsynchronousTransfer(FeedableBodyGenerator.java:156)
~[grizzly-http-client-1.8.15.jar:na]
at
com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProvider$BodyGeneratorBodyHandler.doHandle(GrizzlyAsyncHttpProvider.java:2419)
~[grizzly-http-client-1.8.15.jar:na]
at
com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProvider.sendRequest(GrizzlyAsyncHttpProvider.java:580)
~[grizzly-http-client-1.8.15.jar:na]
at
com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProvider$AsyncHttpClientFilter.sendAsGrizzlyRequest(GrizzlyAsyncHttpProvider.java:968)
~[grizzly-http-client-1.8.15.jar:na]
at
com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProvider$AsyncHttpClientFilter.handleWrite(GrizzlyAsyncHttpProvider.java:833)
~[grizzly-http-client-1.8.15.jar:na]
at
org.glassfish.grizzly.filterchain.ExecutorResolver$8.execute(ExecutorResolver.java:111)
~[grizzly-framework-2.3.16.jar:2.3.16]
at
org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
~[grizzly-framework-2.3.16.jar:2.3.16]
at
org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
~[grizzly-framework-2.3.16.jar:2.3.16]
at
org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
~[grizzly-framework-2.3.16.jar:2.3.16]
at
org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
~[grizzly-framework-2.3.16.jar:2.3.16]
--
View this message in context: http://grizzly.1045725.n5.nabble.com/Grizzly-http-client-race-condition-tp5710847p5710861.html
Sent from the Grizzly - Users mailing list archive at Nabble.com.