[ 
https://issues.apache.org/jira/browse/ARTEMIS-1883?focusedWorklogId=608165&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-608165
 ]

ASF GitHub Bot logged work on ARTEMIS-1883:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 07/Jun/21 23:30
            Start Date: 07/Jun/21 23:30
    Worklog Time Spent: 10m 
      Work Description: rtista edited a comment on pull request #3365:
URL: https://github.com/apache/activemq-artemis/pull/3365#issuecomment-856326904


   > You've done some good work on this PR, @rtista. However, I think that this 
is ultimately a solution looking for a problem that doesn't actually exist.
   > 
   > As currently written and used throughout the code-base, the 
`isFullyQualified` method is meant to denote whether or not any attempt to use 
FQQN was made, not necessarily whether or not it is semantically valid. 
Therefore, input like `::foo` and `foo::` will result in `true` because they 
contain `::`. However, they may result in exceptions later since they are not 
semantically valid.
   > 
   > Given this I'm closing this PR.
   
   @jbertram Not a problem! Glad of what I've already learned from you guys so 
far! I'll be picking other Jira Issues for fun 😄 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 608165)
    Time Spent: 11.5h  (was: 11h 20m)

> 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)

Reply via email to