[rabbitmq-discuss] Bug/Behavior Change in binds to header exchanges in rabbitmq 3.1.0

Matt Campbell matt at soupmatt.com
Thu Aug 8 19:57:40 BST 2013

I received the following reply from one of the rabbit guys. I'm not sure 
why he didn't reply to the group. I am including it here so that i might 
help others.

On Mon, May 6, 2013 at 12:20 PM, Matthias Radestock <email removed> wrote:

We introduced validation of the x-match header in 3.1 - a change that 
unfortunately didn't get mentioned in the release notes.

As part of that, bindings with no x-match header are now rejected whereas 
previously they would be treated as 'all' matches.

The spec is vague in this regard; it neither says that x-match must be 
present nor what should happen when it isn't.

I have filed a bug to explore whether we should revert to the original 
behaviour, though given the spec vagueness it is probably best not to 
depend on that in applications.

As an alternative to changing the bindings in your code, you could 
introduce an intermediate fanout exchange, either

a) in front of the headers exchange, with publishers publishing to that 
instead of the headers exchange, or

b) behind the headers exchange, bound to it with x-match=all, so that 
selected queues can bind to that w/o having to set a header


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130808/fad3ea86/attachment.htm>

More information about the rabbitmq-discuss mailing list