[
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]