You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by "Martin C." <ma...@gmx.at> on 2011/04/17 14:18:14 UTC

"Caught an exception sending to DLQ"

Hi,

in one of my installations using 5.4.2 broker, I got the following
exception, after processing of a message failed several times in a row
within XA transactions. The message never appeared in a DLQ and seems
to have been lost. Any ideas what could be causing this?

2011-04-17 13:41:59,353 | WARN  | Caught an exception sending to DLQ:
Message e041e768-ee0e-4cac-0f10-fc58d7c7409d:0:11:11 dropped=false
acked=false locked=true |
org.apache.activemq.broker.region.RegionBroker | ActiveMQ Transport:
ssl:///172.17.1.5:48447
java.lang.NullPointerException
        at org.apache.activemq.store.kahadb.MessageDatabase$MessageOrderIndex.load(MessageDatabase.java:2055)
        at org.apache.activemq.store.kahadb.MessageDatabase.loadStoredDestination(MessageDatabase.java:1529)
        at org.apache.activemq.store.kahadb.MessageDatabase.getStoredDestination(MessageDatabase.java:1484)
        at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$2.execute(KahaDBStore.java:426)
        at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$2.execute(KahaDBStore.java:422)
        at org.apache.kahadb.page.Transaction.execute(Transaction.java:751)
        at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.getMessageCount(KahaDBStore.java:421)
        at org.apache.activemq.store.ProxyMessageStore.getMessageCount(ProxyMessageStore.java:84)
        at org.apache.activemq.broker.region.Queue$5.<init>(Queue.java:270)
        at org.apache.activemq.broker.region.Queue.initialize(Queue.java:269)
        at org.apache.activemq.broker.region.DestinationFactoryImpl.createDestination(DestinationFactoryImpl.java:86)
        at org.apache.activemq.broker.region.AbstractRegion.createDestination(AbstractRegion.java:473)
        at org.apache.activemq.broker.jmx.ManagedQueueRegion.createDestination(ManagedQueueRegion.java:56)
        at org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:123)
        at org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:298)
        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
        at org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:157)
        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
        at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151)
        at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:498)
        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
        at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
        at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)
        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
        at org.apache.activemq.broker.UserIDBroker.send(UserIDBroker.java:39)
        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
        at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
        at org.apache.activemq.util.BrokerSupport.doResend(BrokerSupport.java:67)
        at org.apache.activemq.util.BrokerSupport.resendNoCopy(BrokerSupport.java:38)
        at org.apache.activemq.broker.region.RegionBroker.sendToDeadLetterQueue(RegionBroker.java:830)
        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
        at org.apache.activemq.advisory.AdvisoryBroker.sendToDeadLetterQueue(AdvisoryBroker.java:392)
        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
        at org.apache.activemq.broker.MutableBrokerFilter.sendToDeadLetterQueue(MutableBrokerFilter.java:273)
        at org.apache.activemq.broker.region.PrefetchSubscription.sendToDLQ(PrefetchSubscription.java:458)
        at org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:364)
        at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:383)
        at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:544)
        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
        at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:197)
        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
        at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:87)
        at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:469)
        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:214)
        at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:311)
        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
        at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:228)
        at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
        at org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:91)
        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
        at java.lang.Thread.run(Thread.java:662)

Thanks in advance,
Martin

Re: "Caught an exception sending to DLQ"

Posted by "Martin C." <ma...@gmx.at>.
Hi,

Yes, it was part of a 5.3 to 5.4 upgrade, related to my experimenting
with different broker versions "in the field" for a problem I
mentioned in some other e-mails. I will try if I can reproduce it in a
testing environment, if I can I will provide additional information.
You are right that it seems that this happened on the first attempt to
write to the DLQ after the upgrade.

Best regards,
Martin

On Tue, Apr 19, 2011 at 11:32 AM, Gary Tully <ga...@gmail.com> wrote:
> Was that a migration from 5.3.x to 5.4.x?
> It looks like it is failing on the first use of the DLQ which is odd,
> as if I cannot read the index for that destination. Rebuilding the
> index would probably help, but I would be great to figure if it is
> reproducible.
>
> On 17 April 2011 13:18, Martin C. <ma...@gmx.at> wrote:
>> Hi,
>>
>> in one of my installations using 5.4.2 broker, I got the following
>> exception, after processing of a message failed several times in a row
>> within XA transactions. The message never appeared in a DLQ and seems
>> to have been lost. Any ideas what could be causing this?
>>
>> 2011-04-17 13:41:59,353 | WARN  | Caught an exception sending to DLQ:
>> Message e041e768-ee0e-4cac-0f10-fc58d7c7409d:0:11:11 dropped=false
>> acked=false locked=true |
>> org.apache.activemq.broker.region.RegionBroker | ActiveMQ Transport:
>> ssl:///172.17.1.5:48447
>> java.lang.NullPointerException
>>        at org.apache.activemq.store.kahadb.MessageDatabase$MessageOrderIndex.load(MessageDatabase.java:2055)
>>        at org.apache.activemq.store.kahadb.MessageDatabase.loadStoredDestination(MessageDatabase.java:1529)
>>        at org.apache.activemq.store.kahadb.MessageDatabase.getStoredDestination(MessageDatabase.java:1484)
>>        at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$2.execute(KahaDBStore.java:426)
>>        at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$2.execute(KahaDBStore.java:422)
>>        at org.apache.kahadb.page.Transaction.execute(Transaction.java:751)
>>        at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.getMessageCount(KahaDBStore.java:421)
>>        at org.apache.activemq.store.ProxyMessageStore.getMessageCount(ProxyMessageStore.java:84)
>>        at org.apache.activemq.broker.region.Queue$5.<init>(Queue.java:270)
>>        at org.apache.activemq.broker.region.Queue.initialize(Queue.java:269)
>>        at org.apache.activemq.broker.region.DestinationFactoryImpl.createDestination(DestinationFactoryImpl.java:86)
>>        at org.apache.activemq.broker.region.AbstractRegion.createDestination(AbstractRegion.java:473)
>>        at org.apache.activemq.broker.jmx.ManagedQueueRegion.createDestination(ManagedQueueRegion.java:56)
>>        at org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:123)
>>        at org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:298)
>>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>>        at org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:157)
>>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>>        at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151)
>>        at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:498)
>>        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
>>        at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
>>        at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)
>>        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
>>        at org.apache.activemq.broker.UserIDBroker.send(UserIDBroker.java:39)
>>        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
>>        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
>>        at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
>>        at org.apache.activemq.util.BrokerSupport.doResend(BrokerSupport.java:67)
>>        at org.apache.activemq.util.BrokerSupport.resendNoCopy(BrokerSupport.java:38)
>>        at org.apache.activemq.broker.region.RegionBroker.sendToDeadLetterQueue(RegionBroker.java:830)
>>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>>        at org.apache.activemq.advisory.AdvisoryBroker.sendToDeadLetterQueue(AdvisoryBroker.java:392)
>>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>>        at org.apache.activemq.broker.MutableBrokerFilter.sendToDeadLetterQueue(MutableBrokerFilter.java:273)
>>        at org.apache.activemq.broker.region.PrefetchSubscription.sendToDLQ(PrefetchSubscription.java:458)
>>        at org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:364)
>>        at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:383)
>>        at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:544)
>>        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
>>        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
>>        at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:197)
>>        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
>>        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
>>        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
>>        at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:87)
>>        at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:469)
>>        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:214)
>>        at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:311)
>>        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
>>        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
>>        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
>>        at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:228)
>>        at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
>>        at org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:91)
>>        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
>>        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
>>        at java.lang.Thread.run(Thread.java:662)
>>
>> Thanks in advance,
>> Martin
>>
>
>
>
> --
> http://blog.garytully.com
> http://fusesource.com
>

Re: "Caught an exception sending to DLQ"

Posted by Gary Tully <ga...@gmail.com>.
Was that a migration from 5.3.x to 5.4.x?
It looks like it is failing on the first use of the DLQ which is odd,
as if I cannot read the index for that destination. Rebuilding the
index would probably help, but I would be great to figure if it is
reproducible.

On 17 April 2011 13:18, Martin C. <ma...@gmx.at> wrote:
> Hi,
>
> in one of my installations using 5.4.2 broker, I got the following
> exception, after processing of a message failed several times in a row
> within XA transactions. The message never appeared in a DLQ and seems
> to have been lost. Any ideas what could be causing this?
>
> 2011-04-17 13:41:59,353 | WARN  | Caught an exception sending to DLQ:
> Message e041e768-ee0e-4cac-0f10-fc58d7c7409d:0:11:11 dropped=false
> acked=false locked=true |
> org.apache.activemq.broker.region.RegionBroker | ActiveMQ Transport:
> ssl:///172.17.1.5:48447
> java.lang.NullPointerException
>        at org.apache.activemq.store.kahadb.MessageDatabase$MessageOrderIndex.load(MessageDatabase.java:2055)
>        at org.apache.activemq.store.kahadb.MessageDatabase.loadStoredDestination(MessageDatabase.java:1529)
>        at org.apache.activemq.store.kahadb.MessageDatabase.getStoredDestination(MessageDatabase.java:1484)
>        at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$2.execute(KahaDBStore.java:426)
>        at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$2.execute(KahaDBStore.java:422)
>        at org.apache.kahadb.page.Transaction.execute(Transaction.java:751)
>        at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.getMessageCount(KahaDBStore.java:421)
>        at org.apache.activemq.store.ProxyMessageStore.getMessageCount(ProxyMessageStore.java:84)
>        at org.apache.activemq.broker.region.Queue$5.<init>(Queue.java:270)
>        at org.apache.activemq.broker.region.Queue.initialize(Queue.java:269)
>        at org.apache.activemq.broker.region.DestinationFactoryImpl.createDestination(DestinationFactoryImpl.java:86)
>        at org.apache.activemq.broker.region.AbstractRegion.createDestination(AbstractRegion.java:473)
>        at org.apache.activemq.broker.jmx.ManagedQueueRegion.createDestination(ManagedQueueRegion.java:56)
>        at org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:123)
>        at org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:298)
>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>        at org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:157)
>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>        at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151)
>        at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:498)
>        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
>        at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
>        at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)
>        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
>        at org.apache.activemq.broker.UserIDBroker.send(UserIDBroker.java:39)
>        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
>        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
>        at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
>        at org.apache.activemq.util.BrokerSupport.doResend(BrokerSupport.java:67)
>        at org.apache.activemq.util.BrokerSupport.resendNoCopy(BrokerSupport.java:38)
>        at org.apache.activemq.broker.region.RegionBroker.sendToDeadLetterQueue(RegionBroker.java:830)
>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>        at org.apache.activemq.advisory.AdvisoryBroker.sendToDeadLetterQueue(AdvisoryBroker.java:392)
>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>        at org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:261)
>        at org.apache.activemq.broker.MutableBrokerFilter.sendToDeadLetterQueue(MutableBrokerFilter.java:273)
>        at org.apache.activemq.broker.region.PrefetchSubscription.sendToDLQ(PrefetchSubscription.java:458)
>        at org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:364)
>        at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:383)
>        at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:544)
>        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
>        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
>        at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:197)
>        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
>        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
>        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:77)
>        at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:87)
>        at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:469)
>        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:214)
>        at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:311)
>        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
>        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
>        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
>        at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:228)
>        at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
>        at org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:91)
>        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
>        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
>        at java.lang.Thread.run(Thread.java:662)
>
> Thanks in advance,
> Martin
>



-- 
http://blog.garytully.com
http://fusesource.com