RE: Can you please help to clarify my doubts in HA cluster managing

2014-01-07 Thread Xiong Zou
Hi Steve,

Thanks a lot for your clarifications. It is much clearer now. On top of the
QPID HA Cluster, we will manage our service utilities for their own HA.

Thanks & regards,
Xiong 



--
View this message in context: 
http://qpid.2158936.n2.nabble.com/Can-you-please-help-to-clarify-my-doubts-in-HA-cluster-managing-tp7602265p7602368.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Re: Java broker - message grouping in C++ compatibility mode

2014-01-07 Thread Robbie Gemmell
...and just to be super clear, though I think it it is mentioned correctly
in the docs this time, the 'default group' concept does not apply in the
regular / 'non shared' grouping mode. Messages that dont specify a group
key value in that mode are simply not grouped in any way.

On 8 January 2014 04:41, Robbie Gemmell  wrote:

>
> 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.gemm...@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

Re: Java broker - message grouping in C++ compatibility mode

2014-01-07 Thread Robbie Gemmell
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.gemm...@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 a

Re: Java broker - message grouping in C++ compatibility mode

2014-01-07 Thread Helen Kwong
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. 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? 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?

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  > >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
> > > >
> > >
> >
>


Re: Java broker - message grouping in C++ compatibility mode

2014-01-07 Thread Robbie Gemmell
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  >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
> > >
> >
>


Re: Java broker - message grouping in C++ compatibility mode

2014-01-07 Thread Helen Kwong
Hi Robbie,

I see. Thanks for the quick response and explanation!

Helen


On Tue, Jan 7, 2014 at 7:43 PM, Robbie Gemmell 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
> >
>


Request for inclusion in 0.26

2014-01-07 Thread Robbie Gemmell
Hi Justin,

I would like to request the following fix for 0.26, to resolve a defect
with the Java brokers shared message group functionality.

https://issues.apache.org/jira/browse/QPID-5450
https://svn.apache.org/r1556096

The change is trivial, having the net effect of moving an existing method
call inside an existing synchronized block solely when using the shared
message group functionality that is misbehaving.

The JIRA is currently sitting RTR with Rob but he actually indicated to me
that he had already looked at it several hours before I actually asigned it
to him to click the button...I'll prod him in the morning to do so :)

Robbie


Re: Java broker - message grouping in C++ compatibility mode

2014-01-07 Thread Robbie Gemmell
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
>


Java broker - message grouping in C++ compatibility mode

2014-01-07 Thread Helen Kwong
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


Re: Qpid topic sessions linger

2014-01-07 Thread Rob Godfrey
Hi Logan,

unfortunately the mailing list strips off attachments - can you raise a
JIRA for this issue (go to: https://issues.apache.org/jira/browse/QPID) and
attach your code to that?

thanks,
Rob




On 7 January 2014 22:27, Logan Barnett  wrote:

> I’m pretty stumped here - I’ve went through the docs/wiki/jira as best I
> could, but couldn’t find anything on it at all - so I must be doing
> something really wrong here, apologies if I missed the doc that would have
> sorted this out.
>
> I’m trying to test various JMS features in Qpid so I can demo/pitch it to
> the rest of my team. My problem is that server-side sessions appear to
> linger long after my sessions are closed gracefully on the client side.
>
> I’ve attached my current code, which has the test for durable
> subscriptions as the active test. I’ve left commented various permutations
> I’ve tried to make things work so what I’ve attempted can be seen.
>
> When running the program, it completes successfully and demonstrates
> durable subscriptions do indeed work. No surprise there. When running the
> program again, the session.createDurableSubscriber call stalls for a while.
> Eventually it times out with this message:
>
> Exception in thread "main" javax.jms.JMSException: Error registering
> consumer: org.apache.qpid.AMQException: timed out waiting for sync:
> complete = 4, point = 9 [error code 541: internal error]
>
> On the server side, this is what I get during a failing run:
>
> 2014-01-07 12:51:06,805 INFO  [IoReceiver - /127.0.0.1:51065]
> (connection.open) - [con:124(/127.0.0.1:51065)] CON-1001 : Open
> 2014-01-07 12:51:06,809 INFO  [IoReceiver - /127.0.0.1:51065]
> (connection.open) - [con:124(/127.0.0.1:51065)] CON-1001 : Open :
> Protocol Version : 0-10
> 2014-01-07 12:51:07,266 INFO  [IoReceiver - /127.0.0.1:51065]
> (connection.open) - [con:124(guest@/127.0.0.1:51065/default)] CON-1001 :
> Open : Client ID : subscriber : Protocol Version : 0-10 : Client Version :
> 0.24
> 2014-01-07 12:51:07,305 INFO  [IoReceiver - /127.0.0.1:51065]
> (channel.create) - [con:124(subscriber@/127.0.0.1:51065/default)/ch:0]
> CHN-1001 : Create
> 2014-01-07 12:52:07,358 INFO  [IoReceiver - /127.0.0.1:51065]
> (channel.close_forced) - [con:124(subscriber@/
> 127.0.0.1:51065/default)/ch:0] [con:124(subscriber@/
> 127.0.0.1:51065/default)/ch:0] CHN-1003 : Close : 405 - Cannot declare
> queue('subscriber:DurableTestSession'), as exclusive queue with same name
> declared on another session
> 2014-01-07 12:52:07,698 INFO  [IoReceiver - /127.0.0.1:51065]
> (connection.close) - [Broker] [con:124(subscriber@/127.0.0.1:51065/default)]
> CON-1002 : Close
>
>
> If I go into the web manager and delete the exchanges, queues, and
> sessions, I can run everything again successfully. I can also get a
> successful rerun if I bounce the server - which I’ve seen the unit tests
> also demonstrate. If something happens to the client and it needs to
> reconnect in a short period of time, it will fail to subscribe until Qpid
> releases the session.
>
> Based on this topic name, why would it be exclusive in the first place?
> test-topic / test-durable; {create: always, assert: never, node: { type:
> topic, durable: True, x-declare: { auto-delete: True, exclusive: False}}}
>
> Thanks in advance!
>
> -Logan
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
> For additional commands, e-mail: users-h...@qpid.apache.org
>
>


Qpid topic sessions linger

2014-01-07 Thread Logan Barnett
I’m pretty stumped here - I’ve went through the docs/wiki/jira as best I could, 
but couldn’t find anything on it at all - so I must be doing something really 
wrong here, apologies if I missed the doc that would have sorted this out.

I’m trying to test various JMS features in Qpid so I can demo/pitch it to the 
rest of my team. My problem is that server-side sessions appear to linger long 
after my sessions are closed gracefully on the client side.

I’ve attached my current code, which has the test for durable subscriptions as 
the active test. I’ve left commented various permutations I’ve tried to make 
things work so what I’ve attempted can be seen.

When running the program, it completes successfully and demonstrates durable 
subscriptions do indeed work. No surprise there. When running the program 
again, the session.createDurableSubscriber call stalls for a while. Eventually 
it times out with this message:

Exception in thread "main" javax.jms.JMSException: Error registering consumer: 
org.apache.qpid.AMQException: timed out waiting for sync: complete = 4, point = 
9 [error code 541: internal error]

On the server side, this is what I get during a failing run:

2014-01-07 12:51:06,805 INFO  [IoReceiver - /127.0.0.1:51065] (connection.open) 
- [con:124(/127.0.0.1:51065)] CON-1001 : Open
2014-01-07 12:51:06,809 INFO  [IoReceiver - /127.0.0.1:51065] (connection.open) 
- [con:124(/127.0.0.1:51065)] CON-1001 : Open : Protocol Version : 0-10
2014-01-07 12:51:07,266 INFO  [IoReceiver - /127.0.0.1:51065] (connection.open) 
- [con:124(guest@/127.0.0.1:51065/default)] CON-1001 : Open : Client ID : 
subscriber : Protocol Version : 0-10 : Client Version : 0.24
2014-01-07 12:51:07,305 INFO  [IoReceiver - /127.0.0.1:51065] (channel.create) 
- [con:124(subscriber@/127.0.0.1:51065/default)/ch:0] CHN-1001 : Create
2014-01-07 12:52:07,358 INFO  [IoReceiver - /127.0.0.1:51065] 
(channel.close_forced) - [con:124(subscriber@/127.0.0.1:51065/default)/ch:0] 
[con:124(subscriber@/127.0.0.1:51065/default)/ch:0] CHN-1003 : Close : 405 - 
Cannot declare queue('subscriber:DurableTestSession'), as exclusive queue with 
same name declared on another session
2014-01-07 12:52:07,698 INFO  [IoReceiver - /127.0.0.1:51065] 
(connection.close) - [Broker] [con:124(subscriber@/127.0.0.1:51065/default)] 
CON-1002 : Close


If I go into the web manager and delete the exchanges, queues, and sessions, I 
can run everything again successfully. I can also get a successful rerun if I 
bounce the server - which I’ve seen the unit tests also demonstrate. If 
something happens to the client and it needs to reconnect in a short period of 
time, it will fail to subscribe until Qpid releases the session.

Based on this topic name, why would it be exclusive in the first place?
test-topic / test-durable; {create: always, assert: never, node: { type: topic, 
durable: True, x-declare: { auto-delete: True, exclusive: False}}}

Thanks in advance!

-Logan


-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



RE: Can you please help to clarify my doubts in HA cluster managing

2014-01-07 Thread Steve Huston
Hi Xiong,

> Thanks a lot Steve and Alan, appreciate your prompt helps.

You're welcome.

> I guess I have not posted my ideas clearly. Let me describe it below for your
> better information.
> 
> After going through the link provided by Alan, I realize that HA is only to
> group two nodes into a cluster for high availability. Clients or Exchanges 
> need
> to connect to virtual IP for message communication. QPID Messaging Bus
> itself is HA, but Clients or Exchanges connect to QPID are not automatically
> HA ready. Please correct me if my understanding is wrong.

That's basically right, but Exchanges don't connect to Qpid - an Exchange is a 
AMQP 0-10 artifact that is managed by Qpid broker. The client connects to the 
broker and sends messages to an exchange. As such, the Exchange is part of the 
HA broker.

> What we are intended to achieve is that we have two physical boxes, one
> box shall have a server instance, for example a billing utility, running as
> primary service provider, another box shall have an identical billing utility
> running which is a hot-backup of the primary one. Messages passed to
> primary instance will be processed as normal, while messages duplicated to
> backup instance will be processed and update its internal status only. Once
> Primary instance or primary box is down, backup instance or box will take
> over. Is there any existing mechanism provided by QPID to achieve this
> purpose to ease our effort?

First, to run an HA cluster that can continue to function when one dies you 
should have at least 3 nodes. (That's a clustering issue,  not limited to Qpid).

Assuming you have a cluster that can continue to function when one node dies, 
one of the passive brokers will be promoted to primary/active and continue to 
provide service.

Your client (billing utility) would see the connection to the broker go down. 
It could then be re-established when the new broker becomes active. If you are 
running the client on the same node as the broker, you will need to design an 
HA solution for the client as well. You could take advantage of the clustering 
facilities for this. I would recommend you study the RH clustering docs for 
information on your options.

-Steve


-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Re: Qpid Dispatch building dependencies

2014-01-07 Thread Ted Ross

Sascha,

The Python bindings for Proton are only needed for running the tests and 
for running the qdstat utility.  Since qdstat uses AMQP, it can be 
installed on a separate system and used to manage/monitor dispatch over 
the network.  So the Python Proton bindings are not needed to run Dispatch.


However, Dispatch does need the python interpreter to be installed to 
run since it uses embedded Python code to manage  the configuration and 
to do route computation.  The fast path is pure C but the control plane 
(route computation) is embedded Python.


-Ted

On 01/07/2014 10:29 AM, Sascha Kattelmann wrote:

Hi,

I'm currently thinking about using the Qpid Dispatch Router in context 
of embedded systems. To keep the memory footprint as low as possible 
I'd like to avoid installing Python for running the dispatch router. 
The release note


http://svn.apache.org/repos/asf/qpid/dispatch/trunk/doc/book/release-0.1.md 



states that "Qpid Proton version 0.6 must be installed (including the 
Python bindings) to build Qpid Dispatch". I just want to get sure that 
Python (and less important: Proton) is just a building dependency. Is 
that true?


-Sascha

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org




-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Re: [VOTE] Initial Release of Dispatch (0.1 RC5)

2014-01-07 Thread Darryl L. Pierce
On Tue, Jan 07, 2014 at 09:42:39AM -0500, Ted Ross wrote:
> I am re-starting the vote on the initial release of the Qpid
> Dispatch message router.  This vote is to use RC5 as the official
> 0.1 release.
> 
> Source location:
> 
> http://people.apache.org/~tross/qpid-dispatch-0.1rc5/
> 
> Documentation:
> 
> http://qpid.apache.org/components/dispatch-router/index.html
> 
> Notes for version 0.1:
> 
> http://qpid.apache.org/components/dispatch-router/release-0.1.html
> 
> Please note that this version of Dispatch requires Proton 0.6 and
> will be released pending this vote and the successful release of
> Proton 0.6.
> 
> Please register your vote.  I will keep the voting open for at least
> 72 business hours.
> 
> [X] Yes, release Dispatch 0.1 RC5 as 0.1
> [ ] No, do not release for the following reasons:
> 
> -Ted
> 

-- 
Darryl L. Pierce, Sr. Software Engineer @ Red Hat, Inc.
Delivering value year after year.
Red Hat ranks #1 in value among software vendors.
http://www.redhat.com/promo/vendor/



pgpEReD1lox_d.pgp
Description: PGP signature


RE: Ubuntu packages for Qpid 0.24

2014-01-07 Thread Steve Huston
I have some experience with supporting a customer with fairly demanding 
messaging needs and they were using the active-active cluster mechanism. 
They're very happy to be on active-passive now.

If you'd like to talk further about why you think active-active is a better 
choice, I'd be happy to discuss here or privately - whichever you prefer.

-Steve

> -Original Message-
> From: Listas@Adminlinux [mailto:lis...@adminlinux.com.br]
> Sent: Tuesday, January 07, 2014 9:03 AM
> To: users@qpid.apache.org
> Subject: Re: Ubuntu packages for Qpid 0.24
> 
> 
> In my company we chose Qpid because your active-active cluster feature.
> This is important in our environment. But the Qpid-0.24 only supports active-
> passive cluster.
> 
> Does support for active-active cluster will come back in the future?
> Thanks!
> 
> Em 02-01-2014 17:51, Andrew Stitcher escreveu:
> > On Thu, 2014-01-02 at 16:54 -0200, Listas@Adminlinux wrote:
> >> Hi,
> >>
> >> I'm trying to generate Qpid-0.24 packages for Ubuntu 12.04.
> >>
> >> It was configured as follows:
> >>./configure --with-sasl --with-xml --with-rdma --with-ssl
> >> --with-swig --libexecdir='/usr/lib' --enable-fast-install
> >> --enable-deprecated-autotools
> >>
> >> But some plugins are not compiled: sslconnector.so for client;
> >> acl.so, cluster.so, replicating_listener.so, replication_exchange.so,
> >> ssl.so and watchdog.so for daemon.
> >>
> > These changes are what you should expect for 0.24:
> >
> > The ssl and acl plugins have been directly subsumed by the qpidd
> > executable and so are no longer plugins.
> >
> > The old active-active clustering has been replaced with active-passive
> > in a completely new implementation. This removed the other plugins and
> > added a new plugin - ha.so
> >
> > If you are generating new packages you will need to adjust the
> > packaging specification it to take account of this change in files.
> >
> > Andrew
> >
> >
> >
> > -
> > To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For
> > additional commands, e-mail: users-h...@qpid.apache.org
> >
> 
> 
> -
> To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional
> commands, e-mail: users-h...@qpid.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Qpid Dispatch building dependencies

2014-01-07 Thread Sascha Kattelmann

Hi,

I'm currently thinking about using the Qpid Dispatch Router in context 
of embedded systems. To keep the memory footprint as low as possible I'd 
like to avoid installing Python for running the dispatch router. The 
release note


http://svn.apache.org/repos/asf/qpid/dispatch/trunk/doc/book/release-0.1.md

states that "Qpid Proton version 0.6 must be installed (including the 
Python bindings) to build Qpid Dispatch". I just want to get sure that 
Python (and less important: Proton) is just a building dependency. Is 
that true?


-Sascha

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Re: Does support for active-active cluster will come back in the future?

2014-01-07 Thread Alan Conway

On 01/07/2014 09:02 AM, Listas@Adminlinux wrote:

Hi,

In my company we have a "ubuntu12.04 + qpidd-0.14-2 + qpidd-msgstore-0.14-1"
cluster.

We chose Qpid because your active-active cluster feature. This is important in
our environment. But the Qpid-0.24 only supports active-passive cluster.

Does support for active-active cluster will come back in the future?


At the moment there is no plan to bring back the active-active cluster feature 
as it was. Can you give a bit more detail on what you are trying to do? Perhaps 
there is a way to address your use case with the active-passive cluster or some 
extension of it.



-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



[VOTE] Initial Release of Dispatch (0.1 RC5)

2014-01-07 Thread Ted Ross
I am re-starting the vote on the initial release of the Qpid Dispatch 
message router.  This vote is to use RC5 as the official 0.1 release.


Source location:

http://people.apache.org/~tross/qpid-dispatch-0.1rc5/

Documentation:

http://qpid.apache.org/components/dispatch-router/index.html

Notes for version 0.1:

http://qpid.apache.org/components/dispatch-router/release-0.1.html

Please note that this version of Dispatch requires Proton 0.6 and will 
be released pending this vote and the successful release of Proton 0.6.


Please register your vote.  I will keep the voting open for at least 72 
business hours.


[ ] Yes, release Dispatch 0.1 RC5 as 0.1
[ ] No, do not release for the following reasons:

-Ted



Re: Ubuntu packages for Qpid 0.24

2014-01-07 Thread Listas@Adminlinux


In my company we chose Qpid because your active-active cluster feature. 
This is important in our environment. But the Qpid-0.24 only supports 
active-passive cluster.


Does support for active-active cluster will come back in the future?
Thanks!

Em 02-01-2014 17:51, Andrew Stitcher escreveu:

On Thu, 2014-01-02 at 16:54 -0200, Listas@Adminlinux wrote:

Hi,

I'm trying to generate Qpid-0.24 packages for Ubuntu 12.04.

It was configured as follows:
   ./configure --with-sasl --with-xml --with-rdma --with-ssl --with-swig
--libexecdir='/usr/lib' --enable-fast-install --enable-deprecated-autotools

But some plugins are not compiled: sslconnector.so for client; acl.so,
cluster.so, replicating_listener.so, replication_exchange.so, ssl.so and
watchdog.so for daemon.


These changes are what you should expect for 0.24:

The ssl and acl plugins have been directly subsumed by the qpidd
executable and so are no longer plugins.

The old active-active clustering has been replaced with active-passive
in a completely new implementation. This removed the other plugins and
added a new plugin - ha.so

If you are generating new packages you will need to adjust the packaging
specification it to take account of this change in files.

Andrew



-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org




-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Does support for active-active cluster will come back in the future?

2014-01-07 Thread Listas@Adminlinux

Hi,

In my company we have a "ubuntu12.04 + qpidd-0.14-2 + 
qpidd-msgstore-0.14-1" cluster.


We chose Qpid because your active-active cluster feature. This is 
important in our environment. But the Qpid-0.24 only supports 
active-passive cluster.


Does support for active-active cluster will come back in the future?

Thanks!
--
Thiago Henrique
www.adminlinux.com.br

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org