You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by StefanL <st...@yahoo.se> on 2007/09/25 08:37:44 UTC

Conections, sessions and threads

Could anyone confirm my findings or is this a bug/misuse I am experiencing.

Assume you have a consumer that handles messages from a producer. 
This consumer also sends heartbeats to some surveillance service at regular
intervals.

A producer sends messages to this consumer in such a pace that the amq
broker queue 
gets full and producer throttling starts, usagemanager.waitforspace, 100%
etc.

Now if a heartbeat is sent while the producer is temporarily blocked
everything stops!?
The consumer handles the already received 1000 messages (prefetch) but is
not given any 
more since the broker thinks that messages are not acknowledged, though it
seems so..

Why is the message dispatching stopped in this case / messages not being
acknowledged?

The consumer has one connection, two threads and two sessions.

Regards /Stefan

ps. more info: 
http://www.nabble.com/Producer-and-consumer-hangs-with-specific-scenario-tf4492569s2354.html 
ds.

-- 
View this message in context: http://www.nabble.com/Conections%2C-sessions-and-threads-tf4513656s2354.html#a12873896
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.


Re: Conections, sessions and threads

Posted by James Strachan <ja...@gmail.com>.
FWIW it might be worth trying 5.x and retesting this use case as we've
made the dealing of blocking producers much more flexible to handle
these kinds of situations.

On 25/09/2007, StefanL <st...@yahoo.se> wrote:
>
> Could anyone confirm my findings or is this a bug/misuse I am experiencing.
>
> Assume you have a consumer that handles messages from a producer.
> This consumer also sends heartbeats to some surveillance service at regular
> intervals.
>
> A producer sends messages to this consumer in such a pace that the amq
> broker queue
> gets full and producer throttling starts, usagemanager.waitforspace, 100%
> etc.
>
> Now if a heartbeat is sent while the producer is temporarily blocked
> everything stops!?
> The consumer handles the already received 1000 messages (prefetch) but is
> not given any
> more since the broker thinks that messages are not acknowledged, though it
> seems so..
>
> Why is the message dispatching stopped in this case / messages not being
> acknowledged?
>
> The consumer has one connection, two threads and two sessions.
>
> Regards /Stefan
>
> ps. more info:
> http://www.nabble.com/Producer-and-consumer-hangs-with-specific-scenario-tf4492569s2354.html
> ds.
>
>
> --
> View this message in context: http://www.nabble.com/Conections%2C-sessions-and-threads-tf4513656s2354.html#a12873896
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>
>


-- 
James
-------
http://macstrac.blogspot.com/

Open Source SOA
http://open.iona.com