You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Clebert Suconic (Jira)" <ji...@apache.org> on 2021/08/09 17:58:06 UTC

[jira] [Closed] (ARTEMIS-1883) Address name of ::test.topic incorrectly interpreted as FQQN

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

Clebert Suconic closed ARTEMIS-1883.
------------------------------------

> Address name of ::test.topic incorrectly interpreted as FQQN
> ------------------------------------------------------------
>
>                 Key: ARTEMIS-1883
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1883
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 2.4.0
>         Environment: F27, openjdk version "1.8.0_171" for broker
> RHEL7.2 with Qpid Dispatch 1.0.0 for router
>            Reporter: Roddie Kieley
>            Priority: Major
>             Fix For: 2.18.0
>
>          Time Spent: 11.5h
>  Remaining Estimate: 0h
>
> When testing the Apache Qpid Router's address waypoint functionality along with autoLink's to the broker an autoLink addr of ::test.topic was utilized. This caused the following exception to be thrown by the broker:
> {code:java}
> 2018-05-23 22:03:01,649 WARN  [org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler] Incorrect Routing Type for queue, expecting: ANYCAST: java.lang.IllegalStateException: Incorrect Routing Type for queue, expecting: ANYC
> AST
>         at org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.queueQuery(AMQPSessionCallback.java:275) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.getMatchingQueue(ProtonServerSenderContext.java:442) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.initialise(ProtonServerSenderContext.java:390) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.proton.AMQPSessionContext.addSender(AMQPSessionContext.java:168) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.remoteLinkOpened(AMQPConnectionContext.java:235) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.onRemoteOpen(AMQPConnectionContext.java:452) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.proton.handler.Events.dispatch(Events.java:68) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.dispatch(ProtonHandler.java:452) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.flush(ProtonHandler.java:279) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.inputBuffer(ProtonHandler.java:243) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.inputBuffer(AMQPConnectionContext.java:150) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:141) [artemis-amqp-protocol-2.4.0.amq-710004.jar:]
>         at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:642) [artemis-server-2.4.0.amq-710004.jar:2.4.0.amq-710004]
>         at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68) [artemis-core-client-2.4.0.amq-710004.jar:2.4.0.amq-710004]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:797) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [netty-all-4.1.16.Final.jar:4.1.16.Final]
>         at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_171]
> {code}
>  
> And the Apache Qpid Router to continuously activate and deactivate the autoLinks and associated linkRoute's as per:
> {code:java}
> 2018-05-23 22:03:03.158211 -0230 ROUTER_CORE (info) Link Route Deactivated 'linkRoute/0' on connection broker1-conn
> 2018-05-23 22:03:03.158337 -0230 ROUTER_CORE (info) Link Route Deactivated 'linkRoute/1' on connection broker1-conn
> 2018-05-23 22:03:03.158372 -0230 ROUTER_CORE (info) Auto Link Deactivated 'autoLink/0' on connection broker1-conn
> 2018-05-23 22:03:03.158514 -0230 ROUTER_CORE (info) Auto Link Deactivated 'autoLink/1' on connection broker1-conn
> 2018-05-23 22:03:14.858123 -0230 ROUTER_CORE (info) Link Route Activated 'linkRoute/0' on connection broker1-conn
> 2018-05-23 22:03:14.858227 -0230 ROUTER_CORE (info) Link Route Activated 'linkRoute/1' on connection broker1-conn
> 2018-05-23 22:03:14.858284 -0230 ROUTER_CORE (info) Auto Link Activated 'autoLink/0' on connection broker1-conn
> 2018-05-23 22:03:14.858330 -0230 ROUTER_CORE (info) Auto Link Activated 'autoLink/1' on connection broker1-conn
> 2018-05-23 22:03:14.945575 -0230 ROUTER_CORE (info) Link Route Deactivated 'linkRoute/0' on connection broker1-conn
> 2018-05-23 22:03:14.945670 -0230 ROUTER_CORE (info) Link Route Deactivated 'linkRoute/1' on connection broker1-conn
> 2018-05-23 22:03:14.945705 -0230 ROUTER_CORE (info) Auto Link Deactivated 'autoLink/0' on connection broker1-conn
> 2018-05-23 22:03:14.945731 -0230 ROUTER_CORE (info) Auto Link Deactivated 'autoLink/1' on connection broker1-conn
> 2018-05-23 22:03:16.972014 -0230 ROUTER_CORE (info) Link Route Activated 'linkRoute/0' on connection broker1-conn
> 2018-05-23 22:03:16.972146 -0230 ROUTER_CORE (info) Link Route Activated 'linkRoute/1' on connection broker1-conn
> 2018-05-23 22:03:16.972180 -0230 ROUTER_CORE (info) Auto Link Activated 'autoLink/0' on connection broker1-conn
> 2018-05-23 22:03:16.972227 -0230 ROUTER_CORE (info) Auto Link Activated 'autoLink/1' on connection broker1-conn
> 2018-05-23 22:03:16.989380 -0230 ROUTER_CORE (info) Link Route Deactivated 'linkRoute/0' on connection broker1-conn
> 2018-05-23 22:03:16.989464 -0230 ROUTER_CORE (info) Link Route Deactivated 'linkRoute/1' on connection broker1-conn
> 2018-05-23 22:03:16.989497 -0230 ROUTER_CORE (info) Auto Link Deactivated 'autoLink/0' on connection broker1-conn
> 2018-05-23 22:03:16.989634 -0230 ROUTER_CORE (info) Auto Link Deactivated 'autoLink/1' on connection broker1-conn
> {code}
>  
> According to the Artemis documentation on [Fully Qualified Queue Names|https://github.com/apache/activemq-artemis/blob/2.4.0/docs/user-manual/en/address-model.md] a fully qualified queue name is defined as:
> {quote}
> In these situations the client and use a fully qualified queue name, by specifying both the address name and the queue name, separated by a ::.
> {quote}
>  
> The ::test.topic autoLink addr is not a FQQN by definition, however:
> {code:java}
> public class CompositeAddress {
> .
> .
> .
> public static boolean isFullyQualified(String address) {
>    return address.contains(SEPARATOR);
> }
> .
> .
> .
> }{code}
> which is less criteria than the documentation specifies.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)