invoking stopDelivery causes WARNs
rhinmass Aug 9, 2011 3:15 PMI am using JBoss 6.0.0.Final and I have just upgraded to Hornetq 2.2.5.
I have noticed that after upgrading when I call "stopDelivery" on my MessageDrivenBean I now get this message:
14:57:55,476 WARN [org.hornetq.core.server.impl.QueueImpl] Error on checkDLQ: java.lang.IllegalStateException: Cannot find add info 55487
at org.hornetq.core.journal.impl.JournalImpl.appendUpdateRecord(JournalImpl.java:910) [:]
at org.hornetq.core.persistence.impl.journal.JournalStorageManager.updateScheduledDeliveryTime(JournalStorageManager.java:546) [:]
at org.hornetq.core.server.impl.QueueImpl.checkRedelivery(QueueImpl.java:1788) [:]
at org.hornetq.core.server.impl.QueueImpl$RefsOperation.afterRollback(QueueImpl.java:2172) [:]
at org.hornetq.core.transaction.impl.TransactionImpl.afterRollback(TransactionImpl.java:509) [:]
at org.hornetq.core.transaction.impl.TransactionImpl$4.done(TransactionImpl.java:375) [:]
at org.hornetq.core.persistence.impl.journal.OperationContextImpl.executeOnCompletion(OperationContextImpl.java:188) [:]
at org.hornetq.core.persistence.impl.journal.JournalStorageManager.afterCompleteOperations(JournalStorageManager.java:424) [:]
at org.hornetq.core.transaction.impl.TransactionImpl.rollback(TransactionImpl.java:363) [:]
at org.hornetq.core.server.impl.ServerConsumerImpl.close(ServerConsumerImpl.java:340) [:]
at org.hornetq.core.server.impl.ServerSessionImpl.closeConsumer(ServerSessionImpl.java:1038) [:]
at org.hornetq.core.protocol.core.ServerSessionPacketHandler.handlePacket(ServerSessionPacketHandler.java:426) [:]
at org.hornetq.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:474) [:]
at org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:496) [:]
at org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:457) [:]
at org.hornetq.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:459) [:]
at org.hornetq.core.remoting.impl.invm.InVMConnection$1.run(InVMConnection.java:137) [:]
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100) [:]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_21]
at java.lang.Thread.run(Thread.java:619) [:1.6.0_21]
Not just once, but thousands of screenfuls (each with a different ID). Perhaps there is one for each message on the queue, or in the client buffer.
The reason I use this functionality, is that I have to stopDelivery programmatically from time-to-time to inspect the messages on the queue, and if I don't stopDelivery, I can't see the messages in the client buffer. (Perhaps there is another way to see the messages in the clientBuffer ??)
I was wondering if this is a bug, and if there is a work around. In 2.1.2 I could call "stopDelivery" with no problem
Thanks!