[ 
https://issues.apache.org/jira/browse/QPID-6701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14705746#comment-14705746
 ] 

Rajith Attapattu commented on QPID-6701:
----------------------------------------

"QPID-6040 (rev 1620659) changed the algorithm in AMQSession#resolveAddress so 
that the two switch blocks (QUEUE_TYPE and TOPIC_TYPE) to 'break' regardless of 
whether they consider the destination to be resolved"

This is wrong as it will cause the above issues mentioned in the description of 
this JIRA.
Instead of reverting, we could simply throw an exception if the address doesn't 
resolve. After all that is what we expect from the address resolution method. 
We have several customers who rely on the address being resolved properly which 
is why we want this fixed.

If there are any test failures after the above simple change, then we should 
adjust the test behavior.

> [Regression btw 0.30 - 0.32] If address doesn't resolve an exception is not 
> thrown
> ----------------------------------------------------------------------------------
>
>                 Key: QPID-6701
>                 URL: https://issues.apache.org/jira/browse/QPID-6701
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.32
>            Reporter: Rajith Attapattu
>            Assignee: Keith Wall
>            Priority: Blocker
>             Fix For: qpid-java-6.0
>
>
> If you run "java -cp $CP org.apache.qpid.example.Spout non-existing-node",
> 1. In 0.30 you get an exception with the cause "org.apache.qpid.AMQException: 
> Exception occured while verifying destination"
> 2. In 0.32 no such exception is thrown.
> The issue is in the resolveAddress method in AMQSession class.
> If resolved is false no action is taken. There are a couple issues with this.
> 1. A producer can be created to a non existent queue or exchange.
> 2. Messages being dropped -  While sending to a non existing exchange will 
> result in an error, sending to a non existent queue via an exchange will 
> simply result in messages being dropped. 
> 3. The address will continue to be resolved as there was no error the 
> previous time.
> We should throw an exception if resolved == false.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to