Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
0.59.0, 1.2.0
-
None
Description
An NPE can be logged during failover handling after a remote closure/redirect during connection creation. The NPE is it itself also handled and so the connection does still get established to the other peer as it should be, but with the NPE(s) logged.
[WARNING] Caught problem during update processing: null java.lang.NullPointerException at org.apache.qpid.jms.provider.failover.FailoverProvider$CreateConnectionRequest.onFailure (FailoverProvider.java:1299) at org.apache.qpid.jms.provider.amqp.AmqpProvider$2$1.onFailure (AmqpProvider.java:459) at org.apache.qpid.jms.provider.amqp.builders.AmqpConnectionBuilder$1$1.onFailure (AmqpConnectionBuilder.java:91) at org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException (AmqpProvider.java:1159) at org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.closeResource (AmqpAbstractResource.java:185) at org.apache.qpid.jms.provider.amqp.AmqpConnection.processRemoteClose (AmqpConnection.java:151) at org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates (AmqpProvider.java:962) at org.apache.qpid.jms.provider.amqp.AmqpProvider.onData (AmqpProvider.java:872) at org.apache.qpid.jms.transports.netty.NettyTcpTransport$NettyTcpTransportHandler.channelRead0 (NettyTcpTransport.java:563) at org.apache.qpid.jms.transports.netty.NettyTcpTransport$NettyTcpTransportHandler.channelRead0 (NettyTcpTransport.java:556) at io.netty.channel.SimpleChannelInboundHandler.channelRead (SimpleChannelInboundHandler.java:99) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:365) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java:357) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead (DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:365) at io.netty.channel.DefaultChannelPipeline.fireChannelRead (DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read (AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey (NioEventLoop.java:719) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized (NioEventLoop.java:655) at io.netty.channel.nio.NioEventLoop.processSelectedKeys (NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.run (NioEventLoop.java:493) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run (SingleThreadEventExecutor.java:986) at io.netty.util.internal.ThreadExecutorMap$2.run (ThreadExecutorMap.java:74) at java.lang.Thread.run (Thread.java:748) [WARNING] Caught problem during data processing: null java.lang.NullPointerException at org.apache.qpid.jms.provider.failover.FailoverProvider$CreateConnectionRequest.onFailure (FailoverProvider.java:1299) at org.apache.qpid.jms.provider.amqp.AmqpProvider$2$1.onFailure (AmqpProvider.java:459) at org.apache.qpid.jms.provider.amqp.builders.AmqpConnectionBuilder$1$1.onFailure (AmqpConnectionBuilder.java:91) at org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException (AmqpProvider.java:1159) at org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates (AmqpProvider.java:1040) at org.apache.qpid.jms.provider.amqp.AmqpProvider.onData (AmqpProvider.java:872) at org.apache.qpid.jms.transports.netty.NettyTcpTransport$NettyTcpTransportHandler.channelRead0 (NettyTcpTransport.java:563) at org.apache.qpid.jms.transports.netty.NettyTcpTransport$NettyTcpTransportHandler.channelRead0 (NettyTcpTransport.java:556) at io.netty.channel.SimpleChannelInboundHandler.channelRead (SimpleChannelInboundHandler.java:99) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:365) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java:357) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead (DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:365) at io.netty.channel.DefaultChannelPipeline.fireChannelRead (DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read (AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey (NioEventLoop.java:719) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized (NioEventLoop.java:655) at io.netty.channel.nio.NioEventLoop.processSelectedKeys (NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.run (NioEventLoop.java:493) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run (SingleThreadEventExecutor.java:986) at io.netty.util.internal.ThreadExecutorMap$2.run (ThreadExecutorMap.java:74) at java.lang.Thread.run (Thread.java:748) [INFO] Transport failed: null
scenario is two connection on the same failover connection factory where both are remotely closed - scenario is Artemis redirector rejecting the connection.