Occurs sometimes when consuming json message asynchronously.
The problem is that the atomic reference is probably set to null by releaseResources().
So first releaseResources() is called, then fail().
2020-05-13 09:48:36,489 ERROR [async]
java.lang.NullPointerException
at com.ok2c.hc5.json.http.JsonMessageConsumer.failed(JsonMessageConsumer.java:110)
at com.ok2c.hc5.json.http.JsonResponseObjectConsumer.failed(JsonResponseObjectConsumer.java:51)
at org.apache.hc.client5.http.impl.async.InternalAbstractHttpAsyncClient$1$2.failed(InternalAbstractHttpAsyncClient.java:304)
at org.apache.hc.client5.http.impl.async.AsyncRedirectExec$1.failed(AsyncRedirectExec.java:227)
at org.apache.hc.client5.http.impl.async.AsyncHttpRequestRetryExec$1.failed(AsyncHttpRequestRetryExec.java:167)
at org.apache.hc.client5.http.impl.async.AsyncProtocolExec$1.failed(AsyncProtocolExec.java:258)
at org.apache.hc.client5.http.impl.async.H2AsyncMainClientExec$1.failed(H2AsyncMainClientExec.java:108)
at org.apache.hc.core5.http.nio.command.RequestExecutionCommand.failed(RequestExecutionCommand.java:95)
at org.apache.hc.core5.http2.impl.nio.AbstractH2StreamMultiplexer.onDisconnect(AbstractH2StreamMultiplexer.java:568)
at org.apache.hc.core5.http2.impl.nio.AbstractH2IOEventHandler.disconnected(AbstractH2IOEventHandler.java:96)
at org.apache.hc.core5.http2.impl.nio.ClientH2IOEventHandler.disconnected(ClientH2IOEventHandler.java:39)
at org.apache.hc.core5.reactor.InternalDataChannel.disconnected(InternalDataChannel.java:174)
at org.apache.hc.core5.reactor.SingleCoreIOReactor.processClosedSessions(SingleCoreIOReactor.java:229)
at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:134)
at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:82)
at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
at java.base/java.lang.Thread.run(Thread.java:834)
@natnet00 Corrected with 4144fdb. The problem occurs if there are enqueued requests in the I/O sessions when the session gets unexpectedly terminated. It looks like a fairly minor issue to me.
Occurs sometimes when consuming json message asynchronously. The problem is that the atomic reference is probably set to null by releaseResources(). So first releaseResources() is called, then fail().
2020-05-13 09:48:36,489 ERROR [async] java.lang.NullPointerException at com.ok2c.hc5.json.http.JsonMessageConsumer.failed(JsonMessageConsumer.java:110) at com.ok2c.hc5.json.http.JsonResponseObjectConsumer.failed(JsonResponseObjectConsumer.java:51) at org.apache.hc.client5.http.impl.async.InternalAbstractHttpAsyncClient$1$2.failed(InternalAbstractHttpAsyncClient.java:304) at org.apache.hc.client5.http.impl.async.AsyncRedirectExec$1.failed(AsyncRedirectExec.java:227) at org.apache.hc.client5.http.impl.async.AsyncHttpRequestRetryExec$1.failed(AsyncHttpRequestRetryExec.java:167) at org.apache.hc.client5.http.impl.async.AsyncProtocolExec$1.failed(AsyncProtocolExec.java:258) at org.apache.hc.client5.http.impl.async.H2AsyncMainClientExec$1.failed(H2AsyncMainClientExec.java:108) at org.apache.hc.core5.http.nio.command.RequestExecutionCommand.failed(RequestExecutionCommand.java:95) at org.apache.hc.core5.http2.impl.nio.AbstractH2StreamMultiplexer.onDisconnect(AbstractH2StreamMultiplexer.java:568) at org.apache.hc.core5.http2.impl.nio.AbstractH2IOEventHandler.disconnected(AbstractH2IOEventHandler.java:96) at org.apache.hc.core5.http2.impl.nio.ClientH2IOEventHandler.disconnected(ClientH2IOEventHandler.java:39) at org.apache.hc.core5.reactor.InternalDataChannel.disconnected(InternalDataChannel.java:174) at org.apache.hc.core5.reactor.SingleCoreIOReactor.processClosedSessions(SingleCoreIOReactor.java:229) at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:134) at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:82) at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44) at java.base/java.lang.Thread.run(Thread.java:834)