You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Jeff Wartes <jw...@whitepages.com> on 2010/08/16 20:37:11 UTC

Retroactive consumer cases


I'd initially outlined a problem here, and chose to see if I could get the
retroactive consumer support to work.
http://old.nabble.com/Coping-with-forgetful-subscribers-tp29292239p29294876.html


I've got a broker with a configured persistenceAdapter set up with a
timedSubscriptionRecoveryPolicy that covers the last 24 hours on a
particular topic. I've got a consumer for that topic connecting as a durable
subscriber using a known consistent clientId.

The behavior I'm seeing is not what I'd expect though.

  - With everything up and the consumer connected, everything's fine.
Messages come in, the broker sends them on to the consumer.
  - If I disconnect the consumer and reconnect, I get my expected dose of
retroactive messages.
  - But, if I disconnect the consumer, send a message, then reconnect, the
consumer only gets the new, "undelivered" message.

The undelivered message seems to trump the retroactive messages. I'd expect
to get the retroactive messages followed by the undelivered message.

Bug? Misconfiguration?
-- 
View this message in context: http://old.nabble.com/Retroactive-consumer-cases-tp29449185p29449185.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Retroactive consumer cases

Posted by Gary Tully <ga...@gmail.com>.
Not sure, that does seem like a bug as it is not what I would expect
either. I had a quick look at the code and it seems like
keepDurableSubsActive may be responsible for this behavior because
when keepDurableSubsActive is (default) true, new messages are
dispatched to the consumer when it is disconnected so it does not look
in the retroactive cache when it is again activated,
Can you try disabling keepDurableSubsActive via a the corresponding
broker attribute and validate?
If this is the case, I think it is a bug because keepDurableSubsActive
should not change the semantics, just the speed of recovery and
redispatch to durable subs.

On 16 August 2010 19:37, Jeff Wartes <jw...@whitepages.com> wrote:
>
>
> I'd initially outlined a problem here, and chose to see if I could get the
> retroactive consumer support to work.
> http://old.nabble.com/Coping-with-forgetful-subscribers-tp29292239p29294876.html
>
>
> I've got a broker with a configured persistenceAdapter set up with a
> timedSubscriptionRecoveryPolicy that covers the last 24 hours on a
> particular topic. I've got a consumer for that topic connecting as a durable
> subscriber using a known consistent clientId.
>
> The behavior I'm seeing is not what I'd expect though.
>
>  - With everything up and the consumer connected, everything's fine.
> Messages come in, the broker sends them on to the consumer.
>  - If I disconnect the consumer and reconnect, I get my expected dose of
> retroactive messages.
>  - But, if I disconnect the consumer, send a message, then reconnect, the
> consumer only gets the new, "undelivered" message.
>
> The undelivered message seems to trump the retroactive messages. I'd expect
> to get the retroactive messages followed by the undelivered message.
>
> Bug? Misconfiguration?
> --
> View this message in context: http://old.nabble.com/Retroactive-consumer-cases-tp29449185p29449185.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>



-- 
http://blog.garytully.com

Open Source Integration
http://fusesource.com