You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Gordon Sim (JIRA)" <ji...@apache.org> on 2011/06/09 13:50:58 UTC

[jira] [Commented] (QPID-3298) bindings with x-match:all on headers exchange do not work correctly with dynamic federation

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

Gordon Sim commented on QPID-3298:
----------------------------------

The following change fixes the simple case where an x-match:all binding is propagated from dest broker to source broker and matches a messages that has the full set of properties specified by the user. Whether it is fully correct for operation of dynamic federation would be best verified by someone more familiar with that code.

{noformat}
Index: src/qpid/broker/HeadersExchange.cpp
===================================================================
--- src/qpid/broker/HeadersExchange.cpp	(revision 1130102)
+++ src/qpid/broker/HeadersExchange.cpp	(working copy)
@@ -112,9 +112,9 @@
 
         {
             Mutex::ScopedLock l(lock);
-            Binding::shared_ptr binding (new Binding (bindingKey, queue, this, *args));
+            Binding::shared_ptr binding (new Binding (bindingKey, queue, this, extra_args));
             BoundKey bk(binding);
-            if (bindings.add_unless(bk, MatchArgs(queue, args))) {
+            if (bindings.add_unless(bk, MatchArgs(queue, &extra_args))) {
                 binding->startManagement();
                 propagate = bk.fedBinding.addOrigin(queue->getName(), fedOrigin);
                 if (mgmtExchange != 0) {
{noformat}

> bindings with x-match:all on headers exchange do not work correctly with dynamic federation
> -------------------------------------------------------------------------------------------
>
>                 Key: QPID-3298
>                 URL: https://issues.apache.org/jira/browse/QPID-3298
>             Project: Qpid
>          Issue Type: Bug
>            Reporter: Gordon Sim
>
> I believe the issue is that the arguments used in the binding include the extra control arguments for fed.origin etc and as these are not specified in the messages, they do not match the binding.
> Using x-match:any works as expected.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org