-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/20328/#review40276
-----------------------------------------------------------

Ship it!


Ship It!

- Gordon Sim


On April 14, 2014, 5:02 p.m., Ernie Allen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/20328/
> -----------------------------------------------------------
> 
> (Updated April 14, 2014, 5:02 p.m.)
> 
> 
> Review request for qpid, Gordon Sim and Ted Ross.
> 
> 
> Repository: qpid
> 
> 
> Description
> -------
> 
> When a topic delete request is issued and the topic does not exist and there 
> is an exchange of that name, the exchange is deleted which is obviously not 
> intended. When the topic exists the topic is deleted first, see additional 
> info for more details.
> 
> Steps to Reproduce:
> 1. qpid-config add exchange fanout myExchange
> 2. qpid-config del topic myExchange
> Exchange myExchange removed instead of 'Topic not found' exception
> 
> If the amqp.so module is loaded, the request to delete the topic should be 
> handled by the registered objectFactory Topic::deleteObject(). 
> Rather than return false when a request to delete the topic is received and 
> the topic is not found, this patch throws a NotFoundException.
> 
> The code in Broker::deleteObject() that treats topic as a synonym for 
> exchange was left intact in case the amqp.so module is not loaded. In that 
> case the code will function as before and topic deletes will delete exchanges.
> 
> 
> Diffs
> -----
> 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Topic.cpp 1587241 
> 
> Diff: https://reviews.apache.org/r/20328/diff/
> 
> 
> Testing
> -------
> 
> with amqp.so loaded
> >qpid-config add exchange topic myExchange
> >qpid-config del topic myExchange
> Failed: Exception: Exception from Agent: {u'error_code': 7, u'error_text': 
> 'not-found: Delete failed. No such topic: myExchange 
> (/home/eallen/rpmbuild/BUILD/qpid-0.22/cpp/src/qpid/broker/amqp/Topic.cpp:141)'}
> 
> with amqp.so not loaded
> >qpid-config add exchange topic myExchange
> >qpid-config del topic myExchange
> >
> >qpid-config list exchange
> Objects of type 'exchange'
>   name                type     durable
>   ======================================
>                       direct   False
>   amq.direct          direct   True
>   amq.fanout          fanout   True
>   amq.match           headers  True
>   amq.topic           topic    True
>   qmf.default.direct  direct   False
>   qmf.default.topic   topic    False
>   qpid.management     topic    False
> 
> 
> Thanks,
> 
> Ernie Allen
> 
>

Reply via email to