activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Reopened] (AMQ-3236) In the case of DLQ processing due to an exception from onMessage, provide the exception string as a message property
Date Wed, 31 Jul 2013 11:23:48 GMT

     [ https://issues.apache.org/jira/browse/AMQ-3236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gary Tully reopened AMQ-3236:
-----------------------------


intermittent hang of: org.apache.activemq.bugs.AMQ2021Test
shows concurrency issue with pending inflights to other topic consumers.
The properties hashmap can get corrupt leading to an infinite loop:
{code}"ActiveMQ Transport: tcp:///127.0.0.1:58927@58921" daemon prio=5 tid=7fd5b79c6800 nid=0x119872000
runnable [119870000]
   java.lang.Thread.State: RUNNABLE
	at java.util.HashMap.putAllForCreate(HashMap.java:437)
	at java.util.HashMap.<init>(HashMap.java:225)
	at org.apache.activemq.command.Message.copy(Message.java:136)
	at org.apache.activemq.command.ActiveMQMessage.copy(ActiveMQMessage.java:68)
	at org.apache.activemq.command.ActiveMQTextMessage.copy(ActiveMQTextMessage.java:57)
	at org.apache.activemq.command.ActiveMQTextMessage.copy(ActiveMQTextMessage.java:52)
	at org.apache.activemq.broker.region.RegionBroker.sendToDeadLetterQueue(RegionBroker.java:714)
	at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:313)
	at org.apache.activemq.advisory.AdvisoryBroker.sendToDeadLetterQueue(AdvisoryBroker.java:421)
	at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:313)
	at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:313)
	at org.apache.activemq.broker.MutableBrokerFilter.sendToDeadLetterQueue(MutableBrokerFilter.java:325)
	at org.apache.activemq.broker.region.PrefetchSubscription.sendToDLQ(PrefetchSubscription.java:510)
	at org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:383)
	- locked <7df495f68> (a java.lang.Object)
	at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:426)
	at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:447)
	at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:82)
	at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:82)
	at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:287)
	at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:92)
	at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:478){code}
                
> In the case of DLQ processing due to an exception from onMessage, provide the exception
string as a message property 
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-3236
>                 URL: https://issues.apache.org/jira/browse/AMQ-3236
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Broker
>    Affects Versions: 5.4.2
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: DLQ, Exception, Redelivery
>             Fix For: 5.5.0
>
>
> When an application throws an exception from on message, redelivery kicks in through
session rollback. If the policy dictates that the message should be sent to the DLQ, the exception
cause is lost. 
> The enhancement would pipe the exception with the internal poison ack such that it can
be included as a message property in the message in the DLQ.
> Some context in the answer http://stackoverflow.com/questions/5069733/preservation-of-exception-cause-when-redelivering-failed-activemq-jms-messages-pr/5109361#5109361

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message