that does seem odd. Seems like it should be possible to reproduce in a test case so we can easily investigate what is going wrong? I came across an issue with transactions/concurrentStoreAndDispatchQueues and memory limits that is sort of related in the past while. <kahaDB concurrentStoreAndDispatchQueues="false" ..> provides a workaround in my case. But the scenario required concurrent transactional and non transactional producers on a memory limit, the test case is nontrivial.
Maybe try that as a sanity, and then try and make a unit test. If you can easily reproduce, please raise a jira issue. On 28 November 2013 14:32, matousvoldrich <[email protected]> wrote: > Hi all, > > I have following scenario: > 1. SMTP server receives email, creates Java class representation and puts it > into EMAIL queue. > 2. Queue is persistant, using configuration below. > 3. I have 10+ consumers consuming from EMAIL queue in transaction mode. If > they fail to process email (route it to other system), message is reverted. > Retry scheme is to try again every 2 minutes indefinitelly (for test > purposes). > > The problem starts when ActiveMq store is filled up (outage on network, > consumers are not able to process messages and revert all of them). Producer > on SMTP server gets blocked, which is fine. > > My problem is that once network problem is resolved and consumers start to > handle the queue again, not all messages are processed and always a few > thousands are left behind and never consumed. After I restart ActiveMq the > messages are finally processed and consumed. > > Is this a bug on ActiveMq? Or is this a configuration issue? > > I tried to experiment with > <policyEntry queue="EMAIL" storeUsageHighWaterMark="95" /> > But no luck, behaves the same > > Thanks for response > Matous > > My configuration: > <destinationPolicy> > <policyMap> > <policyEntries> > <policyEntry topic=">" producerFlowControl="true" > memoryLimit="16 mb" > > > <pendingMessageLimitStrategy> > <constantPendingMessageLimitStrategy limit="1000"/> > </pendingMessageLimitStrategy> > </policyEntry> > <policyEntry queue=">" producerFlowControl="true" > memoryLimit="16 mb" /> > <policyEntry queue="EMAIL" storeUsageHighWaterMark="95" /> > <policyEntry queue="ActiveMQ.DLQ" > storeUsageHighWaterMark="20" /> > </policyEntries> > </policyMap> > </destinationPolicy> > > <systemUsage> > <systemUsage sendFailIfNoSpaceAfterTimeout="1000"> > <memoryUsage> > <memoryUsage percentOfJvmHeap="70" /> > </memoryUsage> > <storeUsage> > <storeUsage limit="33 mb"/> > </storeUsage> > <tempUsage> > <tempUsage limit="33 mb"/> > </tempUsage> > </systemUsage> > </systemUsage> > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/ActiveMq-5-9-stuck-messages-on-store-full-tp4674917.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. -- http://redhat.com http://blog.garytully.com
