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();
}
}