You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by fp...@apache.org on 2012/12/04 22:15:47 UTC

svn commit: r1417190 - in /zookeeper/bookkeeper/trunk: CHANGES.txt bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java

Author: fpj
Date: Tue Dec  4 21:15:47 2012
New Revision: 1417190

URL: http://svn.apache.org/viewvc?rev=1417190&view=rev
Log:
BOOKKEEPER-475: BookieRecoveryTest#testSyncBookieRecoveryToRandomBookiesCheckForDupes() iterates too much (ivank via fpj)


Modified:
    zookeeper/bookkeeper/trunk/CHANGES.txt
    zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java

Modified: zookeeper/bookkeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/CHANGES.txt?rev=1417190&r1=1417189&r2=1417190&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/CHANGES.txt (original)
+++ zookeeper/bookkeeper/trunk/CHANGES.txt Tue Dec  4 21:15:47 2012
@@ -122,6 +122,8 @@ Trunk (unreleased changes)
 
         BOOKKEEPER-347: Provide mechanism to detect r-o bookie by the bookie clients (Vinay via ivank)
 
+	BOOKKEEPER-475: BookieRecoveryTest#testSyncBookieRecoveryToRandomBookiesCheckForDupes() iterates too much (ivank via fpj)
+
       hedwig-protocol:
 
         BOOKKEEPER-394: CompositeException message is not useful (Stu Hood via sijie)

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java?rev=1417190&r1=1417189&r2=1417190&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java Tue Dec  4 21:15:47 2012
@@ -720,43 +720,44 @@ public class BookieRecoveryTest extends 
     @Test
     public void testSyncBookieRecoveryToRandomBookiesCheckForDupes() throws Exception {
         Random r = new Random();
-        for (int i = 0; i < 10; i++) {
-            // Create the ledgers
-            int numLedgers = 3;
-            List<LedgerHandle> lhs = createLedgers(numLedgers, numBookies, 2);
-
-            // Write the entries for the ledgers with dummy values.
-            int numMsgs = 100;
-            writeEntriestoLedgers(numMsgs, 0, lhs);
-
-            // Shutdown the first bookie server
-            LOG.info("Finished writing all ledger entries so shutdown one of the bookies.");
-            int removeIndex = r.nextInt(bs.size());
-            InetSocketAddress bookieSrc = bs.get(removeIndex).getLocalAddress();
-            bs.get(removeIndex).shutdown();
-            bs.remove(removeIndex);
-
-            // Startup three new bookie servers
-            startNewBookie();
-
-            // Write some more entries for the ledgers so a new ensemble will be
-            // created for them.
-            writeEntriestoLedgers(numMsgs, numMsgs, lhs);
-
-            // Call the async recover bookie method.
-            LOG.info("Now recover the data on the killed bookie (" + bookieSrc
-                     + ") and replicate it to a random available one");
-            // Initiate the sync object
-            sync.value = false;
-            bkAdmin.recoverBookieData(bookieSrc, null);
-            assertFalse("Dupes exist in ensembles", findDupesInEnsembles(lhs));
-
-            // Write some more entries to ensure fencing hasn't broken stuff
-            writeEntriestoLedgers(numMsgs, numMsgs*2, lhs);
-            for (LedgerHandle lh : lhs) {
-                assertTrue("Not fully replicated", verifyFullyReplicated(lh, numMsgs*3));
-                lh.close();
-            }
+
+        // Create the ledgers
+        int numLedgers = 3;
+        List<LedgerHandle> lhs = createLedgers(numLedgers, numBookies, 2);
+
+        // Write the entries for the ledgers with dummy values.
+        int numMsgs = 10;
+        writeEntriestoLedgers(numMsgs, 0, lhs);
+
+        // Shutdown the first bookie server
+        LOG.info("Finished writing all ledger entries so shutdown one of the bookies.");
+        int removeIndex = r.nextInt(bs.size());
+        InetSocketAddress bookieSrc = bs.get(removeIndex).getLocalAddress();
+        bs.get(removeIndex).shutdown();
+        bs.remove(removeIndex);
+
+        // Startup new bookie server
+        startNewBookie();
+
+        // Write some more entries for the ledgers so a new ensemble will be
+        // created for them.
+        writeEntriestoLedgers(numMsgs, numMsgs, lhs);
+
+        // Call the async recover bookie method.
+        LOG.info("Now recover the data on the killed bookie (" + bookieSrc
+                 + ") and replicate it to a random available one");
+        // Initiate the sync object
+        sync.value = false;
+        bkAdmin.recoverBookieData(bookieSrc, null);
+
+        assertFalse("Dupes exist in ensembles", findDupesInEnsembles(lhs));
+
+        // Write some more entries to ensure fencing hasn't broken stuff
+        writeEntriestoLedgers(numMsgs, numMsgs*2, lhs);
+
+        for (LedgerHandle lh : lhs) {
+            assertTrue("Not fully replicated", verifyFullyReplicated(lh, numMsgs*3));
+            lh.close();
         }
     }