activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From deepak_a <angesh...@gmail.com>
Subject Re: Query around ActiveMQ.DLQ
Date Thu, 09 May 2013 10:12:49 GMT
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.

Mime
View raw message