[hornetq-commits] JBoss hornetq SVN: r11090 - branches/HORNETQ-720_Replication/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Aug 1 12:25:51 EDT 2011


Author: borges
Date: 2011-08-01 12:25:50 -0400 (Mon, 01 Aug 2011)
New Revision: 11090

Modified:
   branches/HORNETQ-720_Replication/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupJournalSyncTest.java
Log:
HORNETQ-720 Get live's files, crash live, wait for backup to take over.

Modified: branches/HORNETQ-720_Replication/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupJournalSyncTest.java
===================================================================
--- branches/HORNETQ-720_Replication/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupJournalSyncTest.java	2011-08-01 15:27:51 UTC (rev 11089)
+++ branches/HORNETQ-720_Replication/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupJournalSyncTest.java	2011-08-01 16:25:50 UTC (rev 11090)
@@ -13,6 +13,7 @@
 import org.hornetq.core.journal.impl.JournalFile;
 import org.hornetq.core.journal.impl.JournalImpl;
 import org.hornetq.core.persistence.impl.journal.JournalStorageManager;
+import org.hornetq.core.server.HornetQServer;
 import org.hornetq.tests.integration.cluster.util.TestableServer;
 import org.hornetq.tests.util.TransportConfigurationUtils;
 
@@ -57,18 +58,37 @@
       }
       backupServer.start();
       waitForBackup(sessionFactory, 10);
-      // XXX HORNETQ-720 must wait for backup to sync!
+      Set<Long> liveIds = getFileIds(messageJournal);
+      assertFalse("should not be initialized", backupServer.getServer().isInitialised());
+      crash(session);
+      waitForServerInitialization(backupServer.getServer(), 5);
 
       JournalImpl backupMsgJournal = getMessageJournalFromServer(backupServer);
       Set<Long> backupIds = getFileIds(backupMsgJournal);
-      Set<Long> liveIds = getFileIds(messageJournal);
       assertEquals("sets must match! " + liveIds, liveIds, backupIds);
    }
 
-   /**
-    * @param backupMsgJournal
-    * @return
-    */
+   private static void waitForServerInitialization(HornetQServer server, int seconds)
+   {
+      long time = System.currentTimeMillis();
+      long toWait = seconds * 1000;
+      while (!server.isInitialised())
+      {
+         try
+         {
+            Thread.sleep(50);
+         }
+         catch (InterruptedException e)
+         {
+            // ignore
+         }
+         if (System.currentTimeMillis() > (time + toWait))
+         {
+            fail("component did not start within timeout of " + seconds);
+         }
+      }
+   }
+
    private Set<Long> getFileIds(JournalImpl journal)
    {
       Set<Long> results = new HashSet<Long>();



More information about the hornetq-commits mailing list