Return-Path: X-Original-To: apmail-qpid-users-archive@www.apache.org Delivered-To: apmail-qpid-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EDED2100BB for ; Wed, 8 Jan 2014 04:42:13 +0000 (UTC) Received: (qmail 81542 invoked by uid 500); 8 Jan 2014 04:42:12 -0000 Delivered-To: apmail-qpid-users-archive@qpid.apache.org Received: (qmail 81303 invoked by uid 500); 8 Jan 2014 04:42:08 -0000 Mailing-List: contact users-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@qpid.apache.org Delivered-To: mailing list users@qpid.apache.org Received: (qmail 81293 invoked by uid 99); 8 Jan 2014 04:42:07 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Jan 2014 04:42:07 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of robbie.gemmell@gmail.com designates 209.85.214.49 as permitted sender) Received: from [209.85.214.49] (HELO mail-bk0-f49.google.com) (209.85.214.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Jan 2014 04:42:01 +0000 Received: by mail-bk0-f49.google.com with SMTP id my13so514217bkb.36 for ; Tue, 07 Jan 2014 20:41:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=36j60EyCdLne8c+tkM1euWjzJMMAaa4dLKRZEWHvk20=; b=vtddHYpXMxR53JFqtPkQN7XD0+FJrVfCHa1f6lxvOsuXKn5TSdXB6VRpb7EtCg3/Or uKF9Uxdg6sHQIX4aHCuJijgR/B6rQ1z4tyQJmcICh2Eu9xgUeX06fkBua6sp202kD5qe SDLEJ0gRDPGBfC9IFcmERkjEJrKuoxmtJOUNyh+C5xeDs2K0GzUT/R7fiJd6eQHcYN4F zO1MbDZNlTyCJCTUvNHUvOdTireGnrZd2jUiErxF7b7GUNsTcWx+5/S31rGfCOa/LY1g UBO9HM3AigM5em4NDDtKIpcdV8tw6qfl/wJ2HswSvdBIm4eQzwXvyOUTzWkY0283kvt8 OkNA== MIME-Version: 1.0 X-Received: by 10.205.17.70 with SMTP id qb6mr2824783bkb.97.1389156100167; Tue, 07 Jan 2014 20:41:40 -0800 (PST) Received: by 10.205.20.138 with HTTP; Tue, 7 Jan 2014 20:41:40 -0800 (PST) In-Reply-To: References: Date: Wed, 8 Jan 2014 04:41:40 +0000 Message-ID: Subject: Re: Java broker - message grouping in C++ compatibility mode From: Robbie Gemmell To: "users@qpid.apache.org" Content-Type: multipart/alternative; boundary=20cf30207426e37fbd04ef6e1bbd X-Virus-Checked: Checked by ClamAV on apache.org --20cf30207426e37fbd04ef6e1bbd Content-Type: text/plain; charset=ISO-8859-1 On 8 January 2014 04:33, Helen Kwong wrote: > Oh I see, I thought what you meant was that I could only alter the default > group in shared-groups mode starting with 0.24. No, I just missed that you said 0.16 and assumed 0.24 was the version you were using . You could always change it, just in more limited ways in earlier releases. To make sure I'm > understanding this correctly -- changing the the default message group name > to something else in C++ mode won't change the serial processing behavior I > saw, right? Correct > Messages without a group identifier will still be considered to > be in a group -- rather than no group -- and they cannot be processed by > multiple consumers concurrently? > > Yes. In the C++/shared-groups mode every message is considered to be in a group, it is just a case of whether the message specifies that group or instead gets put into the default group. > Thanks, > Helen > > > On Tue, Jan 7, 2014 at 8:22 PM, Robbie Gemmell >wrote: > > > I just noticed you said you were using 0.16, somehow glossed over it > > originally and only noticed the 0.24 in the doc URL (its many hours past > > time I was asleep, I might be getting tired). > > > > Realising that, I should add that prior to 0.22 the only way to alter the > > default group in the shared-groups mode from 'qpid.no-group' to something > > else would have been via the 'qpid.default-message-group' queue declare > > argument when using an AMQP client to create the queue originally, and > for > > 0.22 itself only that and the system property approach I mentioned would > > work. > > > > Robbie > > > > On 8 January 2014 04:03, Helen Kwong wrote: > > > > > Hi Robbie, > > > > > > I see. Thanks for the quick response and explanation! > > > > > > Helen > > > > > > > > > On Tue, Jan 7, 2014 at 7:43 PM, Robbie Gemmell < > robbie.gemmell@gmail.com > > > >wrote: > > > > > > > Hi Helen, > > > > > > > > The short answer to your question is that it is the documentation > which > > > is > > > > incorrect, and the behaviour you are seeing is expected. > > > > > > > > The long answer is, when that documentation was composed a segment > was > > > > missed out indicating this, and needs to be added to the docs. The > > > > behaviour listed for when no group is specified is only true of the > > > > 'non-shared' groups supported by the Java broker, in the C++/shared > > group > > > > mode any messages recieved without an explicit group value are all > > > assigned > > > > to a default group of 'qpid.no-group'. This is as per the behaviour > of > > > the > > > > C++ broker itself, which is explained in the C++ broker docs at the > end > > > of > > > > the following page > > > > > > > > > > > > > > http://qpid.apache.org/releases/qpid-0.24/cpp-broker/book/Using-message-groups.html > > > > . > > > > For the 0.24 Java broker, this default shared group can be changed > > > > broker-wide using the Java system property > > > > 'qpid.broker_default-shared-message-group', or can be overriden for > an > > > > individual queue during creation programatically via AMQP clients or > > the > > > > management interfaces through use of the argument > > > > 'qpid.default-message-group' or 'messageGroupDefaultGroup'. > > > > > > > > I coincidentally happened to have fixed a defect with the shared > groups > > > > functionality last night on trunk. Its not yet included in the > imminent > > > > 0.26 release, though I am about to request whether that is possible. > > > > https://issues.apache.org/jira/browse/QPID-5450 > > > > > > > > Robbie > > > > > > > > On 8 January 2014 02:43, Helen Kwong wrote: > > > > > > > > > Hi, > > > > > > > > > > I use the Java broker and client, version 0.16, and am considering > > > using > > > > > the message grouping feature ( > > > > > > > > > > > > > > > > > > > > http://qpid.apache.org/releases/qpid-0.24/java-broker/book/Java-Broker-Queues.html#Java-Broker-Queues-OtherTypes-Message-Grouping > > > > > ). > > > > > From testing I've done, there seems to be a bug with the C++ > > > > compatibility > > > > > model, and I'm wondering if this is a known issue. Specifically, in > > my > > > > test > > > > > I have a queue configured to use a group header field with > > > > > "qpid.group_header_key" and C++ mode with "qpid.shared_msg_group", > > and > > > > have > > > > > multiple listeners to the queue. Each listener will sleep for a > short > > > > > amount of time when it receives a message before returning. I then > > > > enqueue > > > > > 10 messages that do not have a value in the group header field to > the > > > > > queue. Since the doc says that messages without a value in the > > grouping > > > > > header will be delivered to any available consumer, the behavior I > > > expect > > > > > is that the messages will be processed in parallel, i.e., when > > > listener 1 > > > > > is holding on to a message and sleeping, listener 2 can receive > > another > > > > > message from the queue. But what I see is that the messages are > > > processed > > > > > serially -- message 2 won't be received by some thread until > message > > 1 > > > is > > > > > done. When I use the default mode instead of C++ mode, then I get > the > > > > > parallel processing behavior. > > > > > > > > > > Is this is a known bug, and is there a fix for it already? > > > > > > > > > > Thanks, > > > > > Helen > > > > > > > > > > > > > > > --20cf30207426e37fbd04ef6e1bbd--