You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by si...@apache.org on 2016/11/09 02:06:00 UTC
bookkeeper git commit: BOOKKEEPER-903: metaformat command fix
Repository: bookkeeper
Updated Branches:
refs/heads/master 0abf37c64 -> 309cbba65
BOOKKEEPER-903: metaformat command fix
metaformat command should delete underreplicated ledger
znodes and lock nodes
Author: Charan Reddy Guttapalem <cg...@salesforce.com>
Reviewers: sijie@apache.org <si...@apache.org>
Closes #62 from reddycharan/metaformatfix
Project: http://git-wip-us.apache.org/repos/asf/bookkeeper/repo
Commit: http://git-wip-us.apache.org/repos/asf/bookkeeper/commit/309cbba6
Tree: http://git-wip-us.apache.org/repos/asf/bookkeeper/tree/309cbba6
Diff: http://git-wip-us.apache.org/repos/asf/bookkeeper/diff/309cbba6
Branch: refs/heads/master
Commit: 309cbba65c8532ef84c70efe181b3162e3078333
Parents: 0abf37c
Author: Charan Reddy Guttapalem <cg...@salesforce.com>
Authored: Tue Nov 8 18:05:57 2016 -0800
Committer: Sijie Guo <si...@apache.org>
Committed: Tue Nov 8 18:05:57 2016 -0800
----------------------------------------------------------------------
.../apache/bookkeeper/client/BookKeeperAdmin.java | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/309cbba6/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
index dd8fde4..bec0e81 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
@@ -45,6 +45,7 @@ import org.apache.bookkeeper.client.BookKeeper.SyncOpenCallback;
import org.apache.bookkeeper.client.LedgerFragmentReplicator.SingleFragmentCallback;
import org.apache.bookkeeper.conf.ClientConfiguration;
import org.apache.bookkeeper.meta.LedgerManager.LedgerRangeIterator;
+import org.apache.bookkeeper.meta.ZkLedgerUnderreplicationManager;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.MultiCallback;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.Processor;
@@ -939,7 +940,23 @@ public class BookKeeperAdmin {
bkc = new BookKeeper(conf, zkc);
// Format all ledger metadata layout
bkc.ledgerManagerFactory.format(conf, zkc);
+
+ // Clear underreplicated ledgers
+ try {
+ ZKUtil.deleteRecursive(zkc, ZkLedgerUnderreplicationManager.getBasePath(conf.getZkLedgersRootPath())
+ + BookKeeperConstants.DEFAULT_ZK_LEDGERS_ROOT_PATH);
+ } catch (KeeperException.NoNodeException e) {
+ LOG.debug("underreplicated ledgers root path node not exists in zookeeper to delete");
+ }
+ // Clear underreplicatedledger locks
+ try {
+ ZKUtil.deleteRecursive(zkc, ZkLedgerUnderreplicationManager.getBasePath(conf.getZkLedgersRootPath())
+ + '/' + BookKeeperConstants.UNDER_REPLICATION_LOCK);
+ } catch (KeeperException.NoNodeException e) {
+ LOG.debug("underreplicatedledger locks node not exists in zookeeper to delete");
+ }
+
// Clear the cookies
try {
ZKUtil.deleteRecursive(zkc, conf.getZkLedgersRootPath()