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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • None
    • A-MQ 7.0.0.CR1
    • None
    • None
    • Release Notes, Compatibility/Configuration
    • 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.
    • 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}
      

      Attachments

        Issue Links

          Activity

            People

              rh-ee-ataylor Andy Taylor
              mtoth@redhat.com Michal Toth
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: