You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by si...@apache.org on 2012/12/12 06:54:24 UTC

svn commit: r1420532 - in /zookeeper/bookkeeper/trunk: CHANGES.txt bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java

Author: sijie
Date: Wed Dec 12 05:54:23 2012
New Revision: 1420532

URL: http://svn.apache.org/viewvc?rev=1420532&view=rev
Log:
BOOKKEEPER-497: GcLedgersTest has a potential race (ivank via sijie)

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

Modified: zookeeper/bookkeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/CHANGES.txt?rev=1420532&r1=1420531&r2=1420532&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/CHANGES.txt (original)
+++ zookeeper/bookkeeper/trunk/CHANGES.txt Wed Dec 12 05:54:23 2012
@@ -132,6 +132,8 @@ Trunk (unreleased changes)
 
 	BOOKKEEPER-498: BookieRecoveryTest.tearDown NPE (fpj)
 
+        BOOKKEEPER-497: GcLedgersTest has a potential race (ivank via sijie)
+
       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/meta/GcLedgersTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java?rev=1420532&r1=1420531&r2=1420532&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java Wed Dec 12 05:54:23 2012
@@ -101,15 +101,15 @@ public class GcLedgersTest extends Ledge
         // random remove several ledgers
         for (int i=0; i<numRemovedLedgers; i++) {
             long ledgerId = tmpList.get(i);
-            getLedgerManager().deleteLedger(ledgerId, new GenericCallback<Void>() {
-                @Override
-                public void operationComplete(int rc, Void result) {
-                    synchronized (removedLedgers) {
-                        removedLedgers.notify();
-                    }
-                }
-            });
             synchronized (removedLedgers) {
+                getLedgerManager().deleteLedger(ledgerId, new GenericCallback<Void>() {
+                        @Override
+                        public void operationComplete(int rc, Void result) {
+                            synchronized (removedLedgers) {
+                                removedLedgers.notify();
+                            }
+                        }
+                    });
                 removedLedgers.wait();
             }
             removedLedgers.add(ledgerId);