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:40:59 UTC

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

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


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

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim resolved QPID-3298.
------------------------------

       Resolution: Fixed
    Fix Version/s: 0.11

> 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
>             Fix For: 0.11
>
>
> 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


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

Posted by "Justin Ross (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Justin Ross updated QPID-3298:
------------------------------

    Assignee: Gordon Sim
    
> 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
>            Assignee: Gordon Sim
>             Fix For: 0.11
>
>
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
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


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

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
    [ 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


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

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13046497#comment-13046497 ] 

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

Above patch passes make check included all federation tests. Would still like review from someone more familiar with the role of the fed ops arguments.

> 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