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/09/07 07:26:40 UTC
svn commit: r1381879 - in /zookeeper/bookkeeper/trunk: CHANGES.txt
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java
Author: sijie
Date: Fri Sep 7 05:26:40 2012
New Revision: 1381879
URL: http://svn.apache.org/viewvc?rev=1381879&view=rev
Log:
BOOKKEEPER-387: BookKeeper Upgrade is not working. (surendra via sijie)
Modified:
zookeeper/bookkeeper/trunk/CHANGES.txt
zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java
Modified: zookeeper/bookkeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/CHANGES.txt?rev=1381879&r1=1381878&r2=1381879&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/CHANGES.txt (original)
+++ zookeeper/bookkeeper/trunk/CHANGES.txt Fri Sep 7 05:26:40 2012
@@ -78,6 +78,8 @@ Trunk (unreleased changes)
BOOKKEEPER-395: HDFS dep transitively depends on a busted pom (Stu Hood via sijie)
+ BOOKKEEPER-387: BookKeeper Upgrade is not working. (surendra via sijie)
+
hedwig-protocol:
BOOKKEEPER-394: CompositeException message is not useful (Stu Hood via sijie)
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java?rev=1381879&r1=1381878&r2=1381879&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java Fri Sep 7 05:26:40 2012
@@ -195,6 +195,7 @@ public class FileSystemUpgrade {
int version = detectPreviousVersion(d);
if (version == Cookie.CURRENT_COOKIE_LAYOUT_VERSION) {
LOG.info("Directory is current, no need to upgrade");
+ continue;
}
try {
File curDir = new File(d, Bookie.CURRENT_DIR);
@@ -230,6 +231,11 @@ public class FileSystemUpgrade {
throw new BookieException.UpgradeException(ioe);
}
}
+
+ if (deferredMoves.isEmpty()) {
+ return;
+ }
+
try {
c.writeToZooKeeper(zk, conf);
} catch (KeeperException ke) {
@@ -376,4 +382,4 @@ public class FileSystemUpgrade {
throw new IllegalArgumentException(err);
}
}
-}
\ No newline at end of file
+}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java?rev=1381879&r1=1381878&r2=1381879&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java Fri Sep 7 05:26:40 2012
@@ -214,6 +214,23 @@ public class UpgradeTest {
}
@Test
+ public void testUpgradeCurrent() throws Exception {
+ String journalDir = newV2JournalDirectory();
+ String ledgerDir = newV2LedgerDirectory();
+ testUpgradeProceedure(zkutil.getZooKeeperConnectString(), journalDir, ledgerDir);
+ // Upgrade again
+ ServerConfiguration conf = new ServerConfiguration()
+ .setZkServers(zkutil.getZooKeeperConnectString())
+ .setJournalDirName(journalDir)
+ .setLedgerDirNames(new String[] { ledgerDir })
+ .setBookiePort(3181);
+ FileSystemUpgrade.upgrade(conf); // should work fine with current directory
+ Bookie b = new Bookie(conf);
+ b.start();
+ b.shutdown();
+ }
+
+ @Test
public void testCommandLine() throws Exception {
PrintStream origerr = System.err;
PrintStream origout = System.out;