[jira] [Updated] (ARTEMIS-1928) Message redistribution + AMQP causes NPE

2018-06-17 Thread Simon Chalmers (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-1928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simon Chalmers updated ARTEMIS-1928:

Priority: Blocker  (was: Critical)

> Message redistribution + AMQP causes NPE
> 
>
> Key: ARTEMIS-1928
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1928
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP, Broker
>Affects Versions: 2.6.1
> Environment: * Broker Version: 2.6.1
>  * Client: AMQPNetLite v2.1.2
>  * Host OS: Linux node 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 
> (2018-05-07) x86_64 GNU/Linux
>  * Host Platform: AWS EC2
>  * broker.xml from node1 attached as node1-broker.xml
>  * broker.xml from node2 attached as node2-broker.xml
>Reporter: Simon Chalmers
>Priority: Blocker
> Attachments: node1-broker.xml, node2-broker.xml
>
>
>  
> Steps to produce, using a producing application (running AMQPNetLite) 
> connecting to node1 of the cluster:
>  * Create queue1, publish 199 messages to it
>  * Create queue2, publish 1 message to it
> Running a consuming application (AMQPNetLite) connecting to node2 of the 
> cluster:
>  * On node1 of the cluster, queue1 & queue2 now have 0 messages in it
>  * On node2 of the cluster, queue1 has 200 messages in it and queue2 has 2 
> messages in it (i.e. an additional message in each queue, even though the 
> consuming application is not publishing any messages).
>  * The consuming application connected to node2 of the cluster does not 
> consume any messages off either queue1 or queue2 from node2 (of the cluster).
> In artemis.log on node2 of the cluster, the following appears:
> {noformat}
> 2018-06-13 02:41:00,604 WARN  [org.apache.activemq.artemis.core.server] 
> AMQ222151: removing consumer which did not handle a message, 
> consumer=ServerConsumerImpl [id=1, filter=null, binding=LocalQueueBinding 
> [address=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
>  
> queue=QueueImpl[name=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
>  postOffice=PostOfficeImpl 
> [server=ActiveMQServerImpl::serverUUID=f80e9286-6e9f-11e8-bd64-0204cf8299ac], 
> temp=false]@50517445, filter=null, 
> name=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
>  
> clusterName=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-requestf80e9286-6e9f-11e8-bd64-0204cf8299ac]],
>  
> message=Reference[117]:NON-RELIABLE:LargeServerMessage[messageID=117,durable=false,userID=null,priority=0,
>  timestamp=0,expiration=0, durable=false, 
> address=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
>  properties=TypedProperties[_AMQ_LARGE_SIZE=330649]]@2025498374: 
> java.lang.IllegalStateException: Can't deliver message 
> java.lang.NullPointerException
> at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.sendMessage(AMQPSessionCallback.java:652)
>  [artemis-amqp-protocol-2.6.1.jar:]
> at 
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1106)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:464)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:2934)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2402)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.access$2000(QueueImpl.java:107)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:3207)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
>  [artemis-commons-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
>  [artemis-commons-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66)
>  [artemis-commons-2.6.1.jar:2.6.1]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  [rt.jar:1.8.0_171]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  [rt.jar:1.8.0_171]
> at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.

[jira] [Updated] (ARTEMIS-1928) Message redistribution + AMQP causes NPE

2018-06-17 Thread Simon Chalmers (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-1928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simon Chalmers updated ARTEMIS-1928:

Priority: Critical  (was: Major)

> Message redistribution + AMQP causes NPE
> 
>
> Key: ARTEMIS-1928
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1928
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP, Broker
>Affects Versions: 2.6.1
> Environment: * Broker Version: 2.6.1
>  * Client: AMQPNetLite v2.1.2
>  * Host OS: Linux node 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 
> (2018-05-07) x86_64 GNU/Linux
>  * Host Platform: AWS EC2
>  * broker.xml from node1 attached as node1-broker.xml
>  * broker.xml from node2 attached as node2-broker.xml
>Reporter: Simon Chalmers
>Priority: Critical
> Attachments: node1-broker.xml, node2-broker.xml
>
>
>  
> Steps to produce, using a producing application (running AMQPNetLite) 
> connecting to node1 of the cluster:
>  * Create queue1, publish 199 messages to it
>  * Create queue2, publish 1 message to it
> Running a consuming application (AMQPNetLite) connecting to node2 of the 
> cluster:
>  * On node1 of the cluster, queue1 & queue2 now have 0 messages in it
>  * On node2 of the cluster, queue1 has 200 messages in it and queue2 has 2 
> messages in it (i.e. an additional message in each queue, even though the 
> consuming application is not publishing any messages).
>  * The consuming application connected to node2 of the cluster does not 
> consume any messages off either queue1 or queue2 from node2 (of the cluster).
> In artemis.log on node2 of the cluster, the following appears:
> {noformat}
> 2018-06-13 02:41:00,604 WARN  [org.apache.activemq.artemis.core.server] 
> AMQ222151: removing consumer which did not handle a message, 
> consumer=ServerConsumerImpl [id=1, filter=null, binding=LocalQueueBinding 
> [address=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
>  
> queue=QueueImpl[name=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
>  postOffice=PostOfficeImpl 
> [server=ActiveMQServerImpl::serverUUID=f80e9286-6e9f-11e8-bd64-0204cf8299ac], 
> temp=false]@50517445, filter=null, 
> name=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
>  
> clusterName=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-requestf80e9286-6e9f-11e8-bd64-0204cf8299ac]],
>  
> message=Reference[117]:NON-RELIABLE:LargeServerMessage[messageID=117,durable=false,userID=null,priority=0,
>  timestamp=0,expiration=0, durable=false, 
> address=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
>  properties=TypedProperties[_AMQ_LARGE_SIZE=330649]]@2025498374: 
> java.lang.IllegalStateException: Can't deliver message 
> java.lang.NullPointerException
> at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.sendMessage(AMQPSessionCallback.java:652)
>  [artemis-amqp-protocol-2.6.1.jar:]
> at 
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1106)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:464)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:2934)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2402)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.access$2000(QueueImpl.java:107)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:3207)
>  [artemis-server-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
>  [artemis-commons-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
>  [artemis-commons-2.6.1.jar:2.6.1]
> at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66)
>  [artemis-commons-2.6.1.jar:2.6.1]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  [rt.jar:1.8.0_171]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  [rt.jar:1.8.0_171]
> at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.j