[ 
https://issues.apache.org/jira/browse/QPIDJMS-549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17424876#comment-17424876
 ] 

Gary Tully commented on QPIDJMS-549:
------------------------------------

client code in this case:
{code}
      ConnectionFactory connectionFactory = new 
JmsConnectionFactory("failover:(amqp://localhost:61616,amqp://localhost:61617)");


      try (Connection connectionProducer0 = 
connectionFactory.createConnection();
           Connection connectionProducer1 = 
connectionFactory.createConnection() ){

         // using first 3 characters of clientID as key for data gravity
         connectionProducer0.setClientID("BAR_PRODUCER");
         connectionProducer1.setClientID("FOO_PRODUCER");


         for (Connection connectionProducer : new Connection[] 
{connectionProducer0, connectionProducer1}) {
            Session session = connectionProducer.createSession(false, 
Session.AUTO_ACKNOWLEDGE);

            Queue queue = session.createQueue("exampleQueue" + 
connectionProducer.getClientID().substring(0, 3));
            MessageProducer sender = session.createProducer(queue);
            for (int i = 0; i < 10; i++) {
               TextMessage message = session.createTextMessage("Hello world n" 
+ i + " - " + connectionProducer.getClientID().substring(0, 3));
               System.out.println("Sending message " + message.getText() + "/" 
+ connectionProducer.getClientID());
               sender.send(message);
            }
         }
      }
{code}

> NPE on remote close during open - possibly concurrent usage of single cf
> ------------------------------------------------------------------------
>
>                 Key: QPIDJMS-549
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-549
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.59.0
>            Reporter: Gary Tully
>            Priority: Major
>
> {code}[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
> {code}
> scenario is two connection on the same failover connection factory where both 
> are remotely closed - scenario is Artemis redirector rejecting the connection.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to