qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Wall (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-6678) Deleting an exchange that is referenced as alternate apparently succeeds but marks the exchange as DELETED
Date Mon, 14 Sep 2015 21:32:45 GMT

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

Keith Wall commented on QPID-6678:

Hi Alex,

On the whole looks good/works well.  I have only a couple of comments:

# VirtualHostImpl#removeExchange and removeExchangeAsync - the force argument is unused. 
I think it can be removed.
# DirectExchangeTest#testDeleteWithChecksOfExchangeSetAsAlternate  I'm not sure why you used
deleteWithChecks+get rather than the standard model operation delete().  Am I missing something?
 I _think_ AbstractExchange#deleteWithChecks could be made private.
# RestServlet#service  I'm finding the growing exception list quite distasteful.ExchangeIsAlternateException/RequiredExchangeExceptionRequiredExchangeException
seems to be subclasses of IntegrityViolationException to me.
# As we can't exercise exchange delete 'if-unsed' from Java, I wonder if adding a python test
to tests/src/py/qpid_tests/broker_0_10/alternate_exchange.py is appropriate.

> Deleting an exchange that is referenced as alternate apparently succeeds but marks the
exchange as DELETED
> ----------------------------------------------------------------------------------------------------------
>                 Key: QPID-6678
>                 URL: https://issues.apache.org/jira/browse/QPID-6678
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.32, qpid-java-6.0
>            Reporter: Keith Wall
>            Assignee: Keith Wall
>         Attachments: 0001-QPID-6678-Deletion-of-exchanges-set-as-alternate-exc.patch
> If I create two exchanges using the Web Management, exch1 and exch2, and make *exch2*
the alternate exchange of *exch1*, I expect to be prevented from deleting exch2 as exch1 refers
to it.   This does not happen.  If I delete *exch2* using Management, the operation apparently
succeeds, but the object is recorded in the store as having desiredState DELETED.  If I then
go on to restart the Broker, the exchange is removed from the store.  If I restart the Broker
a second time, the VH goes into ERROR state as exch1 has a non-existent alternate exchange.

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