We did a test setup with 20 senders to one queue and 20 receivers on another queue with matching filters, and a JMSBridge forwarding from the sender to the receiver without transactions.
We stopped the test in such a way that the receivers are interrupted and some messages are still sent without being received. The server keeps running.
As a result, as soon as we start the test again, we see that the messages that were still in the queue get redelivered many times (10-20-30 times), and the server logs the following Exceptions:
2011-06-14 13:56:46,308 ERROR [org.hornetq.core.protocol.core.ServerSessionPacketHandler] (ajp-0.0.0.0-8009-9) Caught unexpected exception: java.lang.IllegalStateException: Cannot find add info 770146
at org.hornetq.core.journal.impl.JournalImpl.appendUpdateRecord(JournalImpl.java:909) [:]
at org.hornetq.core.persistence.impl.journal.JournalStorageManager.storeAcknowledge(JournalStorageManager.java:519) [:]
at org.hornetq.core.server.impl.QueueImpl.acknowledge(QueueImpl.java:742) [:]
at org.hornetq.core.server.impl.ServerConsumerImpl.acknowledge(ServerConsumerImpl.java:571) [:]
at org.hornetq.core.server.impl.ServerSessionImpl.acknowledge(ServerSessionImpl.java:553) [:]
at org.hornetq.core.protocol.core.ServerSessionPacketHandler.handlePacket(ServerSessionPacketHandler.java:268) [:]
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.jboss.netty.channel.socket.http.HttpTunnelingServlet.service(HttpTunnelingServlet.java:179) [:]
We're using the servlet transport with mod_proxy_ajp in between, we know that this can cause network connection issues, but it shouldn't affect the storage.
We had this issue with HornetQ 2.2.2.Final, but also with r10789 from the Branch_2_2_EAP.