[
https://issues.apache.org/jira/browse/AMQ-2336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dejan Bosanac updated AMQ-2336:
-------------------------------
Fix Version/s: (was: 5.4.2)
5.5.0
> Redeliveried messages stops consumers from going on consuming the rest of
> messages in the queue
> -----------------------------------------------------------------------------------------------
>
> Key: AMQ-2336
> URL: https://issues.apache.org/jira/browse/AMQ-2336
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.2.0, 5.3.0
> Environment: Windows XP, Java 1.5.0_11
> Spring 2.5.6 DefaultMessageListenerContainer
> Reporter: Diego Rodriguez
> Fix For: 5.5.0
>
>
> Here are the steps to reproduce de problem:
> - redeliveryPolicy configured in ActiveMQConnectionFactory as
> initialRedeliveryDelay 10000, maximumRedeliveries 6, useExponentialBackOff
> true, backOffMultiplier 3. With these settings, messages, in case of error,
> stays in the queue several minutes.
> - DefaultMessageListenerContainer with concurrentConsumers,
> maxConcurrentConsumers set to 1, sessionTransacted=true, and cacheLevel
> CACHE_CONSUMER
> - We introduce a "bad" message in a queue (configured to cause a
> RuntimeException in the MDP associated with the queue). The message waits in
> the queue to be redelivered again (seen in jconsole)
> - We introduce a "good" message in a queue. The MDP associated with the
> queue should process this message inmediatly with no exception, but instead,
> the message is not been processed until last redelivery of the "bad" message,
> and it happens several minutes later. When this happens, message is processed
> Ok.
> This problem can cause queues to grow unnecessarily if few messages are
> waiting to be redelivered. What I expected to happen is messages being
> processed as they arrive if there is a consumer available, but it seems
> consumers with a rollback in a transaction are not available until the
> rollbacked message is processed again and finally sent to DLQ.
> In addition, in Activemq version 5.2.0, when I remove consumers while
> waiting for next redelivery of the message, broker throws this exception
> (this not happens with 5.3-SNAPSHOT):
> 30 jul 2009 14:17:45,140 ERROR [ActiveMQ Transport: tcp:///127.0.0.1:3656]
> org.apache.activemq.broker.TransportConnection.Service - sync error occurred:
> javax.jms.JMSException: Transaction
> 'TX:ID:mymachine-4579-1248953104078-0:5207:52' has not been started.
> javax.jms.JMSException: Transaction
> 'TX:ID:mymachine-4579-1248953104078-0:5207:52' has not been started.
> at
> org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:270)
> at
> org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:190)
> at
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
> at
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
> at
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
> at
> org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85)
> at
> org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:456)
> at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205)
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
> at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> at
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
> at
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
> at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
> at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:203)
> at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
> at java.lang.Thread.run(Thread.java:595
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.