Uploaded image for project: 'Qpid JMS'
  1. Qpid JMS
  2. QPIDJMS-549

NPE logged during failover after remote close during connection creation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.59.0, 1.2.0
    • 1.3.0, 0.60.1
    • qpid-jms-client
    • 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.

      Attachments

        Activity

          People

            robbie Robbie Gemmell
            gtully Gary Tully
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: