Return-Path: Delivered-To: apmail-qpid-dev-archive@www.apache.org Received: (qmail 12070 invoked from network); 6 Sep 2010 15:48:46 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 6 Sep 2010 15:48:46 -0000 Received: (qmail 42721 invoked by uid 500); 6 Sep 2010 15:48:46 -0000 Delivered-To: apmail-qpid-dev-archive@qpid.apache.org Received: (qmail 42526 invoked by uid 500); 6 Sep 2010 15:48:43 -0000 Mailing-List: contact dev-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@qpid.apache.org Delivered-To: mailing list dev@qpid.apache.org Received: (qmail 42515 invoked by uid 99); 6 Sep 2010 15:48:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Sep 2010 15:48:42 +0000 X-ASF-Spam-Status: No, hits=-5.0 required=10.0 tests=RCVD_IN_DNSWL_HI,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of gsim@redhat.com designates 209.132.183.28 as permitted sender) Received: from [209.132.183.28] (HELO mx1.redhat.com) (209.132.183.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Sep 2010 15:48:36 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o86FmESx025786 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 6 Sep 2010 11:48:14 -0400 Received: from [10.3.236.194] (vpn-236-194.phx2.redhat.com [10.3.236.194]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o86FmDr0006429 for ; Mon, 6 Sep 2010 11:48:14 -0400 Message-ID: <4C850CCA.7030804@redhat.com> Date: Mon, 06 Sep 2010 16:46:18 +0100 From: Gordon Sim Organization: Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom.,Registered in England and Wales under Company Registration No. 3798903,Directors: Michael Cunningham (USA), Charlie Peters (USA) and David Owens (Ireland) User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-3.fc11 Lightning/1.0b1 Thunderbird/3.0 MIME-Version: 1.0 To: dev@qpid.apache.org Subject: Re: x-match arguments and the 0-10 Java client References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 On 09/06/2010 04:20 PM, Robbie Gemmell wrote: > Hi all, > > I would like to flag up a recent change I made for comment. > > In order to update the patch for QPID-2418 to allow the 0-10 Java > client to properly handle DurableSubscriptions in the face of > adding/removing/changing selectors for a given subscription name, I > had to remove an arbitrary addition of the x-match argument to the > bindings created by the 0-10 client (see below). This was corrupting > the arguments sent to the broker and was not added when performing > checks using isBound(), so I was seeing apparent failures to match > arguments I (thought I) had just bound. > > The only reason I know for this to be there is so that users dont need > to specify an option when using eg the Headers Exchange. As this is a > required option im not sure adding it for them is the correct > behaviour, but if this is truly the desired outcome then i think it > should be performed by making the broker lenient to its exclusion > rather than the other way around. I note the the C++ broker plays > hardball in this situation and demands the value be set. Yes, the "headers_exchange_requires_match_arg" rule in the spec states: When creating a binding between an exchange E, of type headers and any queue Q the arguments field MUST contain a key "x-match" to a value of type str8 which must equal either "any" or "all". If the arguments field does not contain a key "x-match" then an exception of type invalid-argument MUST be raised. However as far as I'm aware, none of the other clients add it by default. I'm not sure I see much value in the code you have removed, especially given the problems you point out. Does the java broker have a default if no explicit x-match is specified? --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscribe@qpid.apache.org