qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rajith Attapattu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-6701) [Regression btw 0.30 - 0.32] If address doesn't resolve an exception is not thrown
Date Thu, 20 Aug 2015 21:03:46 GMT

    [ 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message