Bug 783215 - An error shall be raised rather than purge of messages when rerouting to alt-exchange and alt-exchange doesn't exist
Summary: An error shall be raised rather than purge of messages when rerouting to alt-...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: Development
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: 2.3
: ---
Assignee: Gordon Sim
QA Contact: Leonid Zhaldybin
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-19 17:11 UTC by Petr Matousek
Modified: 2014-11-09 22:38 UTC (History)
6 users (show)

Fixed In Version: qpid-cpp-0.18-1
Doc Type: Bug Fix
Doc Text:
Cause: When a reroute operation is requested on a queue and the flag is specified to use the alternate exchange of that queue, there is no check whether an alternate exchange has actually been specified for the queue. Consequence: In such a case the rerouted messages are silently dropped. Fix: A check was made to ensure that when requested to use the queues alternate exchange, that exchange has been specified. Result: If a reroute request is made and the alternate exchange is to be used as the target and the queue did not have an alternate exchange, an error will be raised.
Clone Of:
Environment:
Last Closed: 2013-03-06 18:54:33 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Apache JIRA QPID-3969 0 None None None Never
Apache JIRA QPID-3970 0 None None None Never
Red Hat Product Errata RHSA-2013:0561 0 normal SHIPPED_LIVE Moderate: Red Hat Enterprise MRG Messaging 2.3 security update 2013-03-06 23:48:13 UTC

Description Petr Matousek 2012-01-19 17:11:33 UTC
Description of problem:

When re-routing to alternate-exchange and the alternate-exchange doesn't exist the messages are purged from that queue. There should be rather an error.

Version-Release number of selected component (if applicable):
qpid-cpp-mrg-0.14-3.el5
qpid-qmf-0.14-2.el5
qpid-cpp-0.14-1.el6
qpid-qmf-0.14-3.el6

How reproducible:
100%

Steps to Reproduce:
1. qpid-tool: call <queue-id> reroute <msg_count> 1 <exchange-name> <filter>
2. msg_count messages are dequeued, but they are not routed anywhere (they are purged)

  
Actual results:
re-routing messages to alternate-exchange on queue with no alternate exchange defined leads to purge of that messages

Expected results:
re-routing messages to alternate-exchange on queue with no alternate exchange defined leads to an error

Comment 4 Gordon Sim 2012-04-24 16:23:29 UTC
There are two issues here. The problem as reported - i.e. the lack of checking when the useAltExchange flag is set - is fixed upstream by http://svn.apache.org/viewvc?view=rev&rev=1329438.

There is also a problem with uninitialised arguments - related to this where qmfv2 messages are constructed and sent directly - that is fixed upstream by http://svn.apache.org/viewvc?view=rev&rev=1329817. This one may warrant its own BZ; it has its own JIRA upstream.

Comment 6 Leonid Zhaldybin 2012-10-31 12:48:24 UTC
Tested on RHEL5.8 and RHEL6.3 (both i386 and x86_64). An attempt to reroute messages from a queue without alternate exchange to an alternate exchange results in error now. Also, in case that useAltExchange is not set for reroute command, it is defaults to 'false' and the messages get rerouted to the provided exchange instead of the alternate one.

-> VERIFIED

Comment 8 errata-xmlrpc 2013-03-06 18:54:33 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-0561.html


Note You need to log in before you can comment on or make changes to this bug.