There is IllegalStateException during failback.
Test scenario:
1. Start server A (messaging-19) and B (messaging-20) in collocated topology - servers contain backup for each other
2. Start producer and consumer connected to server A live
3. During step 2. kill server A -> clients failover to backup server A backup on server B
4. Start server A again -> sometimes IllegalStateException is thrown
From logs it appears that this exception is thrown during failback.
Log from server B:
[JBoss] 07:47:32,883 WARN [QueueImpl] Error on checkDLQ
[JBoss] java.lang.IllegalStateException: Journal must be loaded first
[JBoss] at org.hornetq.core.journal.impl.JournalImpl.appendUpdateRecord(JournalImpl.java:897)
[JBoss] at org.hornetq.core.persistence.impl.journal.JournalStorageManager.updateScheduledDeliveryTime(JournalStorageManager.java:592)
[JBoss] at org.hornetq.core.server.impl.QueueImpl.checkRedelivery(QueueImpl.java:1949)
[JBoss] at org.hornetq.core.server.impl.QueueImpl$RefsOperation.afterRollback(QueueImpl.java:2333)
[JBoss] at org.hornetq.core.transaction.impl.TransactionImpl.afterRollback(TransactionImpl.java:513)
[JBoss] at org.hornetq.core.transaction.impl.TransactionImpl$4.done(TransactionImpl.java:375)
[JBoss] at org.hornetq.core.persistence.impl.journal.OperationContextImpl$1.run(OperationContextImpl.java:239)
[JBoss] at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
[JBoss] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[JBoss] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[JBoss] at java.lang.Thread.run(Thread.java:662)
Log from server A in moment when IllegalStateException is thrown on server B log:
[JBoss] 07:47:27,655 INFO [ClusterConnectionImpl] backup announced
[JBoss] 07:47:31,909 INFO [AIOFileLockNodeManager] Waiting to obtain live lock
[JBoss] 07:47:32,836 WARN [RemotingConnectionImpl] Connection failure has been detected: The connection was disconnected because of server shutdown [code=4]
[JBoss] 07:47:33,911 INFO [AIOFileLockNodeManager] Live Server Obtained live lock
[JBoss] 07:47:37,010 WARN [ClientSessionFactoryImpl] Failed to connect to server.
Note:
I saw that this exception after NPE described in JBPAPP-7606 was thrown. It's possible that is only consequence of it. I'm setting lower priority. This IlllegalStateException is thrown only sometimes.