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

Reply via email to