You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Hans Bausewein (JIRA)" <ji...@apache.org> on 2008/10/26 22:52:53 UTC

[jira] Created: (AMQ-1987) NullPointerException in pure/master slave setup when expired messages sent to DLQ

NullPointerException in pure/master slave setup when expired messages sent to DLQ
---------------------------------------------------------------------------------

                 Key: AMQ-1987
                 URL: https://issues.apache.org/activemq/browse/AMQ-1987
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
         Environment: java version "1.6.0_07" on Linux
Client is JBoss 4.2.3 GA with ActiveMQ resource adapter (5.2.0RC2)

ActiveMQ version 5.3.0-SNAPSHOT rev 708031 (but I had the same with rev 706043)

            Reporter: Hans Bausewein


============ on the master
2008-10-26 22:02:40,752 [127.0.0.1:49166] DEBUG AMQMessageStore - Journalled transacted message add for:
ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 249047, file = 1, size = 397, type = 1 

2008-10-26 22:02:41,624 [127.0.0.1:49166] DEBUG AMQMessageStore - Transacted message add commit for:
ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 249047, file = 1, size = 397, type = 1

2008-10-26 22:02:41,625 [127.0.0.1:49166] DEBUG RegionBroker - Message expired ActiveMQTextMessage {commandId = 2689, responseRequired =
true, messageId = ID:master.cluster-34437-1225054915674-0:7:8:1:1,originalDestination = null, originalTransactionId = null, producerId =
ID:master.cluster-34437-1225054915674-0:7:8:1, destination =queue://queue.B, transactionId =
XID:131075:312d2d32613062356562303a653034643a34393034646161393a333466:2d32613062356562303a653034643a34393034646161393a333534,
expiration = 1225054961622, timestamp = 1225054960622, arrival = 0,brokerInTime = 1225054960689, brokerOutTime = 0, correlationId = null,
replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID
= null, content = null, marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 1073, properties = null, readOnlyProperties = false, readOnlyBody = false, droppable = false, text = hello queue A 40 times processed by: 24266834}

2008-10-26 22:02:41,639 [127.0.0.1:49166] ERROR MasterBroker                   - Slave Failed
java.lang.NullPointerException
        at org.apache.activemq.broker.region.Queue.send(Queue.java:328)
        at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:350)
        at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:437)
        at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:224)
        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126)
        at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95)
        at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133)
        at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:450)
        at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:639)
        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.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
        at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
        at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
        at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)

2008-10-26 22:02:41,647 [127.0.0.1:49166] DEBUG AMQMessageStore                - Journalled message add for:
ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 285321, file = 1, size = 447, type = 1

2008-10-26 22:02:41,642 [127.0.0.1:49166] DEBUG AbstractRegion                 - Adding destination: queue://queue.DLQ
2008-10-26 22:02:41,646 [127.0.0.1:49166] DEBUG AMQMessageStore                - flush starting ...

============ On the slave:

2008-10-26 22:02:40,688 [.cluster#1] DEBUG AMQMessageStore
- Journalled transacted message add for: ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 244149, file = 1, size = 397, type = 1

2008-10-26 22:02:41,616 [.cluster#1] DEBUG AMQMessageStore
- Transacted message add commit for: ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 244149, file = 1, size = 397, type = 1

2008-10-26 22:02:41,626 [.cluster#1] DEBUG AbstractRegion - Adding destination: queue://queue.DLQ
2008-10-26 22:02:41,627 [eue://queue.DLQ] DEBUG AMQMessageStore - Doing batch update... adding: 0 removing: 0
2008-10-26 22:02:41,627 [eue://queue.DLQ] DEBUG AMQMessageStore - Batch update done.
2008-10-26 22:02:41,628 [.cluster#1] DEBUG AMQMessageStore - flush starting ...
2008-10-26 22:02:41,632 [.cluster#1] DEBUG Service - Error occured while processing sync command: java.lang.NullPointerException
java.lang.NullPointerException
        at org.apache.activemq.broker.region.Queue.send(Queue.java:328)
        at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:350)
        at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:437)
        at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:224)
        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126)
        at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95)
        at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133)
        at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:450)
        at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:639)
        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.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
        at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
        at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
        at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)

I have a configuration on both master and slave that sets the DLQ name to "queue.DLQ" .
The topic DLQ name is not modified. In this case 2 NPE's occurred, while 1 message was sent to a topic and 3 were sent to different queues.


I'll turn off "processExpired", now, because I want to test other issues.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1987) NullPointerException in pure/master slave setup when expired messages sent to DLQ

Posted by "Hans Bausewein (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46842#action_46842 ] 

Hans Bausewein commented on AMQ-1987:
-------------------------------------

With "processExpired" set to "false" I do not get NullPointerExceptions, but the slave has higher message counts than the master.

Could this cause a problem when failover happens after some expired messages arrived?

> NullPointerException in pure/master slave setup when expired messages sent to DLQ
> ---------------------------------------------------------------------------------
>
>                 Key: AMQ-1987
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1987
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>         Environment: java version "1.6.0_07" on Linux
> Client is JBoss 4.2.3 GA with ActiveMQ resource adapter (5.2.0RC2)
> ActiveMQ version 5.3.0-SNAPSHOT rev 708031 (but I had the same with rev 706043)
>            Reporter: Hans Bausewein
>
> ============ on the master
> 2008-10-26 22:02:40,752 [127.0.0.1:49166] DEBUG AMQMessageStore - Journalled transacted message add for:
> ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 249047, file = 1, size = 397, type = 1 
> 2008-10-26 22:02:41,624 [127.0.0.1:49166] DEBUG AMQMessageStore - Transacted message add commit for:
> ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 249047, file = 1, size = 397, type = 1
> 2008-10-26 22:02:41,625 [127.0.0.1:49166] DEBUG RegionBroker - Message expired ActiveMQTextMessage {commandId = 2689, responseRequired =
> true, messageId = ID:master.cluster-34437-1225054915674-0:7:8:1:1,originalDestination = null, originalTransactionId = null, producerId =
> ID:master.cluster-34437-1225054915674-0:7:8:1, destination =queue://queue.B, transactionId =
> XID:131075:312d2d32613062356562303a653034643a34393034646161393a333466:2d32613062356562303a653034643a34393034646161393a333534,
> expiration = 1225054961622, timestamp = 1225054960622, arrival = 0,brokerInTime = 1225054960689, brokerOutTime = 0, correlationId = null,
> replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID
> = null, content = null, marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 1073, properties = null, readOnlyProperties = false, readOnlyBody = false, droppable = false, text = hello queue A 40 times processed by: 24266834}
> 2008-10-26 22:02:41,639 [127.0.0.1:49166] ERROR MasterBroker                   - Slave Failed
> java.lang.NullPointerException
>         at org.apache.activemq.broker.region.Queue.send(Queue.java:328)
>         at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:350)
>         at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:437)
>         at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:224)
>         at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126)
>         at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95)
>         at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133)
>         at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:450)
>         at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:639)
>         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.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
>         at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>         at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> 2008-10-26 22:02:41,647 [127.0.0.1:49166] DEBUG AMQMessageStore                - Journalled message add for:
> ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 285321, file = 1, size = 447, type = 1
> 2008-10-26 22:02:41,642 [127.0.0.1:49166] DEBUG AbstractRegion                 - Adding destination: queue://queue.DLQ
> 2008-10-26 22:02:41,646 [127.0.0.1:49166] DEBUG AMQMessageStore                - flush starting ...
> ============ On the slave:
> 2008-10-26 22:02:40,688 [.cluster#1] DEBUG AMQMessageStore
> - Journalled transacted message add for: ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 244149, file = 1, size = 397, type = 1
> 2008-10-26 22:02:41,616 [.cluster#1] DEBUG AMQMessageStore
> - Transacted message add commit for: ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 244149, file = 1, size = 397, type = 1
> 2008-10-26 22:02:41,626 [.cluster#1] DEBUG AbstractRegion - Adding destination: queue://queue.DLQ
> 2008-10-26 22:02:41,627 [eue://queue.DLQ] DEBUG AMQMessageStore - Doing batch update... adding: 0 removing: 0
> 2008-10-26 22:02:41,627 [eue://queue.DLQ] DEBUG AMQMessageStore - Batch update done.
> 2008-10-26 22:02:41,628 [.cluster#1] DEBUG AMQMessageStore - flush starting ...
> 2008-10-26 22:02:41,632 [.cluster#1] DEBUG Service - Error occured while processing sync command: java.lang.NullPointerException
> java.lang.NullPointerException
>         at org.apache.activemq.broker.region.Queue.send(Queue.java:328)
>         at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:350)
>         at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:437)
>         at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:224)
>         at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126)
>         at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95)
>         at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133)
>         at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:450)
>         at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:639)
>         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.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
>         at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>         at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> I have a configuration on both master and slave that sets the DLQ name to "queue.DLQ" .
> The topic DLQ name is not modified. In this case 2 NPE's occurred, while 1 message was sent to a topic and 3 were sent to different queues.
> I'll turn off "processExpired", now, because I want to test other issues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AMQ-1987) NullPointerException in pure/master slave setup when expired messages sent to DLQ

Posted by "Rob Davies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-1987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Davies updated AMQ-1987:
----------------------------

    Fix Version/s: 5.4.0

> NullPointerException in pure/master slave setup when expired messages sent to DLQ
> ---------------------------------------------------------------------------------
>
>                 Key: AMQ-1987
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1987
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>         Environment: java version "1.6.0_07" on Linux
> Client is JBoss 4.2.3 GA with ActiveMQ resource adapter (5.2.0RC2)
> ActiveMQ version 5.3.0-SNAPSHOT rev 708031 (but I had the same with rev 706043)
>            Reporter: Hans Bausewein
>             Fix For: 5.4.0
>
>
> ============ on the master
> 2008-10-26 22:02:40,752 [127.0.0.1:49166] DEBUG AMQMessageStore - Journalled transacted message add for:
> ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 249047, file = 1, size = 397, type = 1 
> 2008-10-26 22:02:41,624 [127.0.0.1:49166] DEBUG AMQMessageStore - Transacted message add commit for:
> ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 249047, file = 1, size = 397, type = 1
> 2008-10-26 22:02:41,625 [127.0.0.1:49166] DEBUG RegionBroker - Message expired ActiveMQTextMessage {commandId = 2689, responseRequired =
> true, messageId = ID:master.cluster-34437-1225054915674-0:7:8:1:1,originalDestination = null, originalTransactionId = null, producerId =
> ID:master.cluster-34437-1225054915674-0:7:8:1, destination =queue://queue.B, transactionId =
> XID:131075:312d2d32613062356562303a653034643a34393034646161393a333466:2d32613062356562303a653034643a34393034646161393a333534,
> expiration = 1225054961622, timestamp = 1225054960622, arrival = 0,brokerInTime = 1225054960689, brokerOutTime = 0, correlationId = null,
> replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID
> = null, content = null, marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 1073, properties = null, readOnlyProperties = false, readOnlyBody = false, droppable = false, text = hello queue A 40 times processed by: 24266834}
> 2008-10-26 22:02:41,639 [127.0.0.1:49166] ERROR MasterBroker                   - Slave Failed
> java.lang.NullPointerException
>         at org.apache.activemq.broker.region.Queue.send(Queue.java:328)
>         at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:350)
>         at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:437)
>         at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:224)
>         at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126)
>         at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95)
>         at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133)
>         at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:450)
>         at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:639)
>         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.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
>         at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>         at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> 2008-10-26 22:02:41,647 [127.0.0.1:49166] DEBUG AMQMessageStore                - Journalled message add for:
> ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 285321, file = 1, size = 447, type = 1
> 2008-10-26 22:02:41,642 [127.0.0.1:49166] DEBUG AbstractRegion                 - Adding destination: queue://queue.DLQ
> 2008-10-26 22:02:41,646 [127.0.0.1:49166] DEBUG AMQMessageStore                - flush starting ...
> ============ On the slave:
> 2008-10-26 22:02:40,688 [.cluster#1] DEBUG AMQMessageStore
> - Journalled transacted message add for: ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 244149, file = 1, size = 397, type = 1
> 2008-10-26 22:02:41,616 [.cluster#1] DEBUG AMQMessageStore
> - Transacted message add commit for: ID:master.cluster-34437-1225054915674-0:7:8:1:1, at: offset = 244149, file = 1, size = 397, type = 1
> 2008-10-26 22:02:41,626 [.cluster#1] DEBUG AbstractRegion - Adding destination: queue://queue.DLQ
> 2008-10-26 22:02:41,627 [eue://queue.DLQ] DEBUG AMQMessageStore - Doing batch update... adding: 0 removing: 0
> 2008-10-26 22:02:41,627 [eue://queue.DLQ] DEBUG AMQMessageStore - Batch update done.
> 2008-10-26 22:02:41,628 [.cluster#1] DEBUG AMQMessageStore - flush starting ...
> 2008-10-26 22:02:41,632 [.cluster#1] DEBUG Service - Error occured while processing sync command: java.lang.NullPointerException
> java.lang.NullPointerException
>         at org.apache.activemq.broker.region.Queue.send(Queue.java:328)
>         at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:350)
>         at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:437)
>         at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:224)
>         at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126)
>         at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95)
>         at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133)
>         at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:450)
>         at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:639)
>         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.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
>         at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>         at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> I have a configuration on both master and slave that sets the DLQ name to "queue.DLQ" .
> The topic DLQ name is not modified. In this case 2 NPE's occurred, while 1 message was sent to a topic and 3 were sent to different queues.
> I'll turn off "processExpired", now, because I want to test other issues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.