[
https://issues.apache.org/jira/browse/ARTEMIS-1023?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
clebert suconic closed ARTEMIS-1023.
------------------------------------
> [Openwire] Autocreate of queues does not work, also corrupts future use of
> queue
> --------------------------------------------------------------------------------
>
> Key: ARTEMIS-1023
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1023
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: OpenWire
> Affects Versions: 2.0.0
> Environment: openwire client used from (amq6.3.0)
> broker built today (march 7) with latest commits after big merge by clebert
> Reporter: Michal Toth
>
> 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.
> {noformat}
> 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
> {noformat}
> 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.
> {noformat}
> [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)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)