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

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

To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org

View raw message