Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-1023

[Openwire] Autocreate of queues does not work, also corrupts future use of queue

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0
    • None
    • OpenWire
    • None
    • openwire client used from (amq6.3.0)
      broker built today (march 7) with latest commits after big merge by clebert

    Description

      In default configuration I am unable to send messages to non-existing queue(address). Openwire client is unable to create such destination and ends with exception (see below). AMQP clients are able to create destination without any problems.

      17:18:57,400 DEBUG Connection=tcp://mySuperHost:61616?jms.username=admin&jms.clientID=lalaid&jms.password=admin
      17:18:57,728 DEBUG Sending: WireFormatInfo { version=10, properties={TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024, StackTraceEnabled=true, CacheEnabled=true, TightEncodingEnabled=true, MaxFrameSize=9223372036854775807, Host=mySuperHost, MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000}, magic=[A,c,t,i,v,e,M,Q]}
      17:18:57,755 DEBUG Using min of local: WireFormatInfo { version=10, properties={TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024, StackTraceEnabled=true, CacheEnabled=true, TightEncodingEnabled=true, MaxFrameSize=9223372036854775807, Host=mySuperHost, MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000}, magic=[A,c,t,i,v,e,M,Q]} and remote: WireFormatInfo { version=12, properties={TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024, ProviderName=ActiveMQ, StackTraceEnabled=true, PlatformDetails=JVM: 1.8.0_51, 25.51-b03, Oracle Corporation, OS: Linux, 3.10.0-514.el7.x86_64, amd64, CacheEnabled=false, TightEncodingEnabled=true, MaxFrameSize=9223372036854775807, MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000, ProviderVersion=5.14.0}, magic=[A,c,t,i,v,e,M,Q]}
      17:18:57,756 DEBUG Received WireFormat: WireFormatInfo { version=12, properties={TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024, ProviderName=ActiveMQ, StackTraceEnabled=true, PlatformDetails=JVM: 1.8.0_51, 25.51-b03, Oracle Corporation, OS: Linux, 3.10.0-514.el7.x86_64, amd64, CacheEnabled=false, TightEncodingEnabled=true, MaxFrameSize=9223372036854775807, MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000, ProviderVersion=5.14.0}, magic=[A,c,t,i,v,e,M,Q]}
      17:18:57,756 DEBUG tcp:///mySuperHost:61616@54010 before negotiation: OpenWireFormat{version=10, cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false, maxFrameSize=9223372036854775807}
      17:18:57,756 DEBUG tcp:///mySuperHost:61616@54010 after negotiation: OpenWireFormat{version=10, cacheEnabled=false, stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false, maxFrameSize=9223372036854775807}
      javax.jms.InvalidDestinationException: Cannot publish to a non-existent Destination: queue://lalaQ2
      	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.lambda$send$0(AMQSession.java:348)
      	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession$$Lambda$13/1858141804.run(Unknown Source)
      	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:341)
      	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1368)
      	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
      	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:270)
      	at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:629)
      	at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
      	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:373)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
      	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
      	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:129)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:651)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:574)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:488)
      	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:450)
      	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873)
      	at java.lang.Thread.run(Thread.java:745)
      17:18:58,010 ERROR Error while sending a message!
      17:18:58,011 DEBUG Received unexpected response: {Response {commandId = 0, responseRequired = false, correlationId = 5}}for command id
      

      I have also noticed, that when Openwire sender is unable to create this queue, it imo creates some object, which is then unusable. I was able to send message to it via AMQP sender (possibly), but AMQP receiver could not get the message. Interestingly, when I tried to send message again to this queue using Openwire client, it client responded with the same error "javax.jms.InvalidDestinationException: Cannot publish to a non-existent Destination: queue://trashQ".
      Please note, that both amqp sender & receiver exited normally (which might be another issue).
      martyntaylor clebertsuconic might be able to help with this.

      [0,root@r7x0_mtoth clients]$ java  -jar /var/dtests/node_data/clients/aoc7.jar sender  --log-msgs dict  --conn-username admin --conn-password admin --address trashQ --count 1
      17:44:39,493 ERROR Error while sending a message!
      javax.jms.InvalidDestinationException: Cannot publish to a non-existent Destination: queue://trashQ
      	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.lambda$send$0(AMQSession.java:348)
      	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession$$Lambda$13/820191545.run(Unknown Source)
      	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:341)
      	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1368)
      	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
      	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:270)
      	at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:629)
      	at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
      	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:373)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
      	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
      	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:129)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:651)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:574)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:488)
      	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:450)
      	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873)
      	at java.lang.Thread.run(Thread.java:745)
      [1,root@r7x0_mtoth clients]$ java  -jar /var/dtests/node_data/clients/aac1.jar sender  --log-msgs dict  --conn-username admin --conn-password admin --address trashQ --count 1
      {'redelivered': False, 'reply_to': None, 'id': '5b57aaeb-e994-4b4a-b659-e44d938d6b6d:1:1:1-1', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1488905087971, 'address': 'trashQ', 'properties': {'JMSXDeliveryCount': 1}, 'content': None}
      
      
      [0,root@r7x0_mtoth clients]$ java  -jar /var/dtests/node_data/clients/aac1.jar receiver  --log-msgs dict  --conn-username admin --conn-password admin --address trashQ --count 1
      
      
      [0,root@r7x0_mtoth clients]$ java  -jar /var/dtests/node_data/clients/aoc7.jar sender  --log-msgs dict  --conn-username admin --conn-password admin --address trashQ --count 1
      17:45:00,430 ERROR Error while sending a message!
      javax.jms.InvalidDestinationException: Cannot publish to a non-existent Destination: queue://trashQ
      	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.lambda$send$0(AMQSession.java:348)
      	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession$$Lambda$13/820191545.run(Unknown Source)
      	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:341)
      	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1368)
      	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
      	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:270)
      	at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:629)
      	at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
      	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:373)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
      	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
      	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:129)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:651)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:574)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:488)
      	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:450)
      	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873)
      	at java.lang.Thread.run(Thread.java:745)
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              michalxo Michal Toth
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: