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] [Resolved] (AMQ-3434) Contention in PLIist creation results in NPE on load - FilePendingMessageCursor
Date Wed, 03 Aug 2011 10:24:27 GMT

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

Gary Tully resolved AMQ-3434.
-----------------------------

    Resolution: Fixed

resolved in  http://svn.apache.org/viewvc?rev=1153420&view=rev

> Contention in PLIist  creation results in NPE on load - FilePendingMessageCursor
> --------------------------------------------------------------------------------
>
>                 Key: AMQ-3434
>                 URL: https://issues.apache.org/jira/browse/AMQ-3434
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.5.0
>         Environment: stomp stress test
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: filependingmessagecursor, pliststore
>             Fix For: 5.6.0
>
>
> Ocassional ocurrance of stack trace{code}2011-06-30 16:02:09,903 [127.0.0.1:50524] ERROR
FilePendingMessageCursor       - Caught an IO Exception getting the DiskList 98_PendingCursor:loadq-3
> java.lang.NullPointerException
> 	at org.apache.kahadb.index.ListIndex.loadNode(ListIndex.java:203)
> 	at org.apache.kahadb.index.ListIndex.load(ListIndex.java:75)
> 	at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:219)
> 	at org.apache.kahadb.page.Transaction.execute(Transaction.java:729)
> 	at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:216)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:454)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:432)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:217)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:193)
> 	at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1629)
> 	at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:720)
> 	at org.apache.activemq.broker.region.Queue.send(Queue.java:652)
> 	at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:379)
> 	at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:523)
> 	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:304)
> 	at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
> 	at org.apache.activemq.broker.UserIDBroker.send(UserIDBroker.java:56)
> 	at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
> 	at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)
> 	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
> 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)
> 	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:81)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:140)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompSend(ProtocolConverter.java:257)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommand(ProtocolConverter.java:178)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:70)
> 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:221)
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:203)
> 	at java.lang.Thread.run(Thread.java:662)
> 2011-06-30 16:02:09,912 [127.0.0.1:50524] ERROR FilePendingMessageCursor       - Caught
an Exception adding a message: ActiveMQBytesMessage {commandId = 19796,
>  responseRequired = false, messageId = ID:bigmacli-40948-1309463846336-2:105:-1:1:19794,
originalDestination = null, originalTransactionId = null, producerId = ID:bigmacli-
> 40948-1309463846336-2:105:-1:1, destination = queue://loadq-3, transactionId = null,
expiration = 0, timestamp = 1309464129898, arrival = 0, brokerInTime = 1309464129898, 
> brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null,
priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false,

> userID = null, content = org.apache.activemq.util.ByteSequence@665e2517, marshalledProperties
= null, dataStructure = null, redeliveryCounter = 0, size = 0, properties = null, 
> readOnlyProperties = true, readOnlyBody = true, droppable = false} ActiveMQBytesMessage{
bytesOut = null, dataOut = null, dataIn = null } first to FilePendingMessageCursor 
> java.lang.RuntimeException: java.lang.NullPointerException
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:432)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:217)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:193)
> 	at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1629)
> 	at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:720)
> 	at org.apache.activemq.broker.region.Queue.send(Queue.java:652)
> 	at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:379)
> 	at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:523)
> 	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:304)
> 	at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
> 	at org.apache.activemq.broker.UserIDBroker.send(UserIDBroker.java:56)
> 	at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
> 	at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)
> 	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
> 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)
> 	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:81)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:140)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompSend(ProtocolConverter.java:257)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommand(ProtocolConverter.java:178)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:70)
> 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:221)
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:203)
> 	at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.NullPointerException
> 	at org.apache.kahadb.index.ListIndex.loadNode(ListIndex.java:203)
> 	at org.apache.kahadb.index.ListIndex.load(ListIndex.java:75)
> 	at org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:219)
> 	at org.apache.kahadb.page.Transaction.execute(Transaction.java:729)
> 	at org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:216)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:454)
> 	... 28 more
>  
> 2011-06-30 16:02:44,121 [Queue:loadq-9  ] ERROR Queue                          - Failed
to page in more queue messages 
> java.util.NoSuchElementException: Chunk stream does not exist, page: 63122 is marked
free
> 	at org.apache.kahadb.index.ListNode$ListIterator.nextFromNextListNode(ListNode.java:149)
> 	at org.apache.kahadb.index.ListNode$ListIterator.hasNext(ListNode.java:160)
> 	at org.apache.activemq.store.kahadb.plist.PList$PListIterator.hasNext(PList.java:203)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor$DiskIterator.hasNext(FilePendingMessageCursor.java:496)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.hasNext(FilePendingMessageCursor.java:288)
> 	at org.apache.activemq.broker.region.Queue.doPageInForDispatch(Queue.java:1725)
> 	at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1944)
> 	at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1452)
> 	at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
> 	at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> Caused by: java.io.EOFException: Chunk stream does not exist, page: 63122 is marked free
> 	at org.apache.kahadb.page.Transaction$2.readPage(Transaction.java:456)
> 	at org.apache.kahadb.page.Transaction$2.<init>(Transaction.java:433)
> 	at org.apache.kahadb.page.Transaction.openInputStream(Transaction.java:430)
> 	at org.apache.kahadb.page.Transaction.load(Transaction.java:406)
> 	at org.apache.kahadb.page.Transaction.load(Transaction.java:363)
> 	at org.apache.kahadb.index.ListIndex.loadNode(ListIndex.java:201)
> 	at org.apache.kahadb.index.ListNode$ListIterator.nextFromNextListNode(ListNode.java:147)
> 	... 9 more
>  
> 2011-06-30 16:02:49,401 [Queue:loadq-4  ] ERROR Queue                          - Failed
to page in more queue messages 
> java.util.NoSuchElementException: Could not locate data file /lab/activemq-5.5.0-fuse-00-27/data/broker/tmp_storage/db-3.log
> 	at org.apache.activemq.store.kahadb.plist.PList$PListIterator.next(PList.java:213)
> 	at org.apache.activemq.store.kahadb.plist.PList$PListIterator.next(PList.java:192)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor$DiskIterator.next(FilePendingMessageCursor.java:501)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor$DiskIterator.next(FilePendingMessageCursor.java:485)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.next(FilePendingMessageCursor.java:296)
> 	at org.apache.activemq.broker.region.Queue.doPageInForDispatch(Queue.java:1726)
> 	at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1944)
> 	at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1452)
> 	at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
> 	at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> Caused by: java.io.IOException: Could not locate data file /lab/activemq-5.5.0-fuse-00-27/data/broker/tmp_storage/db-3.log
> 	at org.apache.kahadb.journal.Journal.getDataFile(Journal.java:350)
> 	at org.apache.kahadb.journal.Journal.read(Journal.java:597)
> 	at org.apache.activemq.store.kahadb.plist.PListStore.getPayload(PListStore.java:367)
> 	at org.apache.activemq.store.kahadb.plist.PList$PListIterator.next(PList.java:211)
> 	... 9 more{code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message