activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Posta <christian.po...@gmail.com>
Subject Re: Query around ActiveMQ.DLQ
Date Thu, 09 May 2013 12:53:15 GMT
Yah, moving from one Queue (DLQ) to another queue (your analysis queue)
will still cause the same memory build up. Maybe just write a camel route
to put those messages into a database for future analysis?

You're maybe still hitting producer flow control in your tests if your
settings are 100k for memory usage. However, when using the producer
window, it won't block the entire connection. Not sure why consumers are
blocked. Are they acking?



On Thu, May 9, 2013 at 3:12 AM, deepak_a <angeshwar@gmail.com> wrote:

> Hi Christian,
>
> Prior to introducing the 'producer window' both the producer and consumer
> were blocked
> (If I don't consume from my DLQ) - which was expected.
> The temporary work-around I have is to simply increase the memoryUsage to a
> higher value
> and also ensure messages are not queued up in activeMQ.DLQ
> This definitely mitigates the problem of producer & consumer hanging up.
>
> However after introducing 'producer window'
> I notice that the consumer is blocked while the producer is not blocked,
> i.e I can see that the camel route is still attempting to publish to the
> Queue but I don't see the messages in the Queue
> i.e I don't see queue size increasing at all - which makes sense because we
> don't want producer to push messages to Queue until broker has acked them
> but I don't quite understand what is happening to the messages and why the
> route is still attempting to publish them.
>
> Current setting I have is (this is to replicate the issue, in the real
> world
> memoryUsage would be set to 512MB)
>
>           <systemUsage>
>             <systemUsage>
>                 <memoryUsage>
>                     <memoryUsage limit="100 kb"/>
>                 </memoryUsage>
>                 <storeUsage>
>                     <storeUsage limit="100 gb"/>
>                 </storeUsage>
>                 <tempUsage>
>                     <tempUsage limit="50 gb"/>
>                 </tempUsage>
>             </systemUsage>
>         </systemUsage>
>
>
>         producerWindowSize value="100"
>
>
> My other query is around activeMQ.DLQ.
> As I understand any message that is failed to delivered to a destination is
> put in this Queue. In our application - we don't have a mechanism to clear
> this up - is the expectation to auto clear messages from DLQ? i.e. are
> messages "NOT" expected to lie around in DLQ indefinitely?
>
> Workaround we are thinking is to create a new dedicated Queue (lets call it
> analysis-Queue) to hold messages that have failed to deliver. i.e. we want
> to collate these messages for Business to investigate what is wrong them.
> Is
> simply moving these messages from DLQ to a analysis-Queue again going to
> cause the same issue in terms of messages building up and again causing
> memoryUsage constraint, since memoryUsage we set in broker-config.xml for
> the over all broker?
> as explained in
> http://www.christianposta.com/blog/?p=273
>
>
> thanks
> D
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Query-around-ActiveMQ-DLQ-tp4666277p4666810.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message