voldemort.tools
Class ZoneShrinkageCLI

java.lang.Object
  extended by voldemort.tools.ZoneShrinkageCLI

public class ZoneShrinkageCLI
extends java.lang.Object

This tool change the cluster topology by dropping one zone


Field Summary
protected  AdminClient adminClient
           
protected  java.lang.String bootstrapUrl
           
protected  java.lang.Integer droppingZoneId
           
static org.apache.log4j.Logger logger
           
 
Constructor Summary
ZoneShrinkageCLI(java.lang.String url, java.lang.Integer droppingZoneId)
           
 
Method Summary
 void executeShrink(boolean realRun)
           
static joptsimple.OptionParser getParser()
           
protected static void logAbort()
           
static void main(java.lang.String[] argv)
           
protected static java.lang.String shrinkClusterXml(java.lang.String clusterXml, int droppingZoneId)
           
protected static java.lang.String shrinkStoresXml(java.lang.String storesXml, int droppingZoneId)
           
static void validateOptions(joptsimple.OptionSet options)
           
protected static boolean verifyMetadataConsistency(AdminClient adminClient, java.util.Collection<Node> nodes, java.lang.String clusterXml, java.lang.String storesXml)
           
protected static boolean verifyRebalanceState(AdminClient adminClient, java.util.Collection<Node> nodes)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

public static org.apache.log4j.Logger logger

adminClient

protected AdminClient adminClient

droppingZoneId

protected final java.lang.Integer droppingZoneId

bootstrapUrl

protected final java.lang.String bootstrapUrl
Constructor Detail

ZoneShrinkageCLI

public ZoneShrinkageCLI(java.lang.String url,
                        java.lang.Integer droppingZoneId)
Method Detail

getParser

public static joptsimple.OptionParser getParser()

validateOptions

public static void validateOptions(joptsimple.OptionSet options)
                            throws java.io.IOException
Throws:
java.io.IOException

main

public static void main(java.lang.String[] argv)
                 throws java.lang.Exception
Throws:
java.lang.Exception

verifyMetadataConsistency

protected static boolean verifyMetadataConsistency(AdminClient adminClient,
                                                   java.util.Collection<Node> nodes,
                                                   java.lang.String clusterXml,
                                                   java.lang.String storesXml)

verifyRebalanceState

protected static boolean verifyRebalanceState(AdminClient adminClient,
                                              java.util.Collection<Node> nodes)

shrinkClusterXml

protected static java.lang.String shrinkClusterXml(java.lang.String clusterXml,
                                                   int droppingZoneId)

shrinkStoresXml

protected static java.lang.String shrinkStoresXml(java.lang.String storesXml,
                                                  int droppingZoneId)

executeShrink

public void executeShrink(boolean realRun)

logAbort

protected static void logAbort()


Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao, Chinmay Soman, Vinoth Chandar, Zhongjie Wu