XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Obsolete
    • Icon: Major Major
    • TBD EAP 5
    • EAP_EWP 5.1.2 CR1
    • HornetQ
    • None
    • Not Required

      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.

      Hudson job:
      http://hudson.qa.jboss.com/hudson/view/EAP5/view/HornetQ-Perf/job/eap51-hornetq-failback-chain-jms-client/66/console-messaging-20/

      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.

              csuconic@redhat.com Clebert Suconic
              mnovak1@redhat.com Miroslav Novak
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: