Uploaded image for project: 'A-MQ Broker'
  1. A-MQ Broker
  2. ENTMQBR-648

JMS Openwire client is unable to send messages to queue with defined 'purgeOnNoConsumer' or queue 'filter'

    Details

    • Type: Bug
    • Status: New
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: A-MQ 7.0.0.CR1
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:

      amq-broker-7.0.0.CR1-redhat-1

    • Target Release:
    • Affects:
      Release Notes, Compatibility/Configuration
    • Release Notes Text:
      Using an A-MQ 6 JMS client to send messages to an address that has a queue with purgeOnNoConsumer set to true fails if the queue has no consumers. It is recommended that you do not set the purgeOnNoConsumer option when using A-MQ 6 JMS clients.
    • Release Notes Docs Status:
      Documented as Known Issue

      Description

      1) Create queue with defined purgeOnNoConsumer. (Please dont mind the 'delete-on-no-consumer', tool has not been update, but populates proper value in call)

      [0,root@mt_r6x0 ~]$ java  -jar /var/dtests/node_data/clients/amqx.jar  queue --host <host>:1099 --action add  --delete-on-no-consumer True -n purge
      Queue 'purge' created;  purgeOnNoConsumers': True,
      

      2) Send few messages to this queue using openwire client

      [0,root@mt_r6x0 ~]$ java  -jar /var/dtests/node_data/clients/aoc7.jar sender  --log-msgs interop --broker <host>:61616 --conn-username admin --conn-password admin --address purge --count 5   
      17:46:03,374 ERROR Error while sending a message!
      javax.jms.InvalidDestinationException: Cannot publish to a non-existent Destination: queue://purge
      	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.lambda$send$0(AMQSession.java:353)
      	at org.apache.activemq.artemis.core.paging.impl.PagingStoreImpl.checkMemory(PagingStoreImpl.java:696)
      	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:346)
      	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1366)
      	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
      	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:271)
      	at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:628)
      	at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:69)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:350)
      	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
      	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:350)
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358)
      	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
      	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:972)
      	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:386)
      	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:302)
      	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873)
      	at java.lang.Thread.run(Thread.java:745)
      

      3) It works with AMQP clients

      [1,root@mt_r6x0 ~]$ java  -jar /var/dtests/node_data/clients/aac1.jar sender  --log-msgs interop --broker <host>:61616 --conn-username admin --conn-password admin --address purge --count 5   
      {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'id': 'cfbefba5-8970-4cfa-b431-d9804c1e583a:1:1:1-1', 'user-id': None, 'address': 'purge', 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1493135211901, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': 1}, 'content': None}
      {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'id': 'cfbefba5-8970-4cfa-b431-d9804c1e583a:1:1:1-2', 'user-id': None, 'address': 'purge', 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1493135211957, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': 1}, 'content': None}
      {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'id': 'cfbefba5-8970-4cfa-b431-d9804c1e583a:1:1:1-3', 'user-id': None, 'address': 'purge', 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1493135211963, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': 1}, 'content': None}
      {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'id': 'cfbefba5-8970-4cfa-b431-d9804c1e583a:1:1:1-4', 'user-id': None, 'address': 'purge', 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1493135211969, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': 1}, 'content': None}
      {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'id': 'cfbefba5-8970-4cfa-b431-d9804c1e583a:1:1:1-5', 'user-id': None, 'address': 'purge', 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1493135211977, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': 1}, 'content': None}
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  ataylor Andy Taylor
                  Reporter:
                  mtoth Michal Toth
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated: