You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2015/01/28 20:12:10 UTC

[1/8] accumulo git commit: ACCUMULO-3486 Fixing incorrect page numbering of latex pdf.

Repository: accumulo
Updated Branches:
  refs/heads/master 868dcd5bf -> 30fad5a63


ACCUMULO-3486 Fixing incorrect page numbering of latex pdf.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/0ca44d7d
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/0ca44d7d
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/0ca44d7d

Branch: refs/heads/master
Commit: 0ca44d7df4a5510f64427e9933476ef6a3be1268
Parents: c1d9118
Author: Corey J. Nolet <cj...@gmail.com>
Authored: Mon Jan 26 11:57:44 2015 -0500
Committer: Corey J. Nolet <cj...@gmail.com>
Committed: Mon Jan 26 11:58:21 2015 -0500

----------------------------------------------------------------------
 .../accumulo_user_manual/accumulo_user_manual.tex      | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/0ca44d7d/docs/src/main/latex/accumulo_user_manual/accumulo_user_manual.tex
----------------------------------------------------------------------
diff --git a/docs/src/main/latex/accumulo_user_manual/accumulo_user_manual.tex b/docs/src/main/latex/accumulo_user_manual/accumulo_user_manual.tex
index 4eacf5c..37d8f35 100644
--- a/docs/src/main/latex/accumulo_user_manual/accumulo_user_manual.tex
+++ b/docs/src/main/latex/accumulo_user_manual/accumulo_user_manual.tex
@@ -17,6 +17,17 @@
 \documentclass[11pt]{report}
 \title{Apache Accumulo User Manual\\
 Version 1.6}
+
+\newcommand\frontmatter{%
+    \cleardoublepage
+  %\@mainmatterfalse
+  \pagenumbering{roman}}
+
+\newcommand\mainmatter{%
+    \cleardoublepage
+ % \@mainmattertrue
+  \pagenumbering{arabic}}
+
 \usepackage{alltt}
 \usepackage{multirow}
 \usepackage{graphicx}
@@ -35,8 +46,10 @@ Version 1.6}
 {\end{flushleft} \setlength{\parindent}{7mm} \hangindent=0cm \normalfont}
 
 \begin{document}
+\frontmatter
 \maketitle
 \tableofcontents
+\mainmatter
 \include{chapters/introduction}
 \include{chapters/design}
 \include{chapters/shell}


[7/8] accumulo git commit: Merge commit '23c97cd' into 1.6

Posted by ct...@apache.org.
Merge commit '23c97cd' into 1.6


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/abf0b998
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/abf0b998
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/abf0b998

Branch: refs/heads/master
Commit: abf0b9987b04cd3acc0e7dfd49d284b54b0c69f6
Parents: b2f7e93 23c97cd
Author: Christopher Tubbs <ct...@apache.org>
Authored: Wed Jan 28 13:35:47 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Wed Jan 28 13:35:47 2015 -0500

----------------------------------------------------------------------
 CHANGES                                         | 169 +++++++++++++++++++
 .../client/mapreduce/AbstractInputFormat.java   |   2 +-
 2 files changed, 170 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[2/8] accumulo git commit: ACCUMULO-3533 Moving static Hadoop 1 & 2 compatibility method getConfiguration() to it's own util class outside of the client API.

Posted by ct...@apache.org.
ACCUMULO-3533 Moving static Hadoop 1 & 2 compatibility method getConfiguration() to it's own util class outside of the client API.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/343b7359
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/343b7359
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/343b7359

Branch: refs/heads/master
Commit: 343b7359ba86ef8038082c306e8d9deec20648f4
Parents: 0ca44d7
Author: Corey J. Nolet <cj...@gmail.com>
Authored: Mon Jan 26 13:44:38 2015 -0500
Committer: Corey J. Nolet <cj...@gmail.com>
Committed: Mon Jan 26 14:03:27 2015 -0500

----------------------------------------------------------------------
 .../client/mapreduce/AbstractInputFormat.java   | 19 +++-----
 .../mapreduce/AccumuloFileOutputFormat.java     |  5 ++-
 .../AccumuloMultiTableInputFormat.java          |  3 +-
 .../client/mapreduce/AccumuloOutputFormat.java  | 19 ++++----
 .../core/client/mapreduce/InputFormatBase.java  |  3 +-
 .../accumulo/core/util/HadoopCompatUtil.java    | 47 ++++++++++++++++++++
 .../simple/mapreduce/TeraSortIngest.java        |  7 +--
 7 files changed, 74 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/343b7359/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
index bcbfddc..95fed00 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
@@ -17,7 +17,6 @@
 package org.apache.accumulo.core.client.mapreduce;
 
 import java.io.IOException;
-import java.lang.reflect.Method;
 import java.net.InetAddress;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -54,6 +53,7 @@ import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.master.state.tables.TableState;
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.Credentials;
+import org.apache.accumulo.core.util.HadoopCompatUtil;
 import org.apache.accumulo.core.util.Pair;
 import org.apache.accumulo.core.util.UtilWaitThread;
 import org.apache.hadoop.conf.Configuration;
@@ -71,7 +71,7 @@ import org.apache.log4j.Logger;
  * An abstract input format to provide shared methods common to all other input format classes. At the very least, any classes inheriting from this class will
  * need to define their own {@link RecordReader}.
  */
-public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
+public abstract class AbstractInputFormat<K, V> extends InputFormat<K,V> {
 
   protected static final Class<?> CLASS = AccumuloInputFormat.class;
   protected static final Logger log = Logger.getLogger(CLASS);
@@ -329,6 +329,7 @@ public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
   }
 
   // InputFormat doesn't have the equivalent of OutputFormat's checkOutputSpecs(JobContext job)
+
   /**
    * Check whether a configuration is fully configured to be used with an Accumulo {@link org.apache.hadoop.mapreduce.InputFormat}.
    *
@@ -354,7 +355,7 @@ public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
    * <li>int {@link #numKeysRead} (used for progress reporting)</li>
    * </ul>
    */
-  protected abstract static class AbstractRecordReader<K,V> extends RecordReader<K,V> {
+  protected abstract static class AbstractRecordReader<K, V> extends RecordReader<K,V> {
     protected long numKeysRead;
     protected Iterator<Map.Entry<Key,Value>> scannerIterator;
     protected RangeInputSplit split;
@@ -675,15 +676,7 @@ public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
     return splits;
   }
 
-  // use reflection to pull the Configuration out of the JobContext for Hadoop 1 and Hadoop 2 compatibility
-  public static Configuration getConfiguration(JobContext context) {
-    try {
-      Class<?> c = AbstractInputFormat.class.getClassLoader().loadClass("org.apache.hadoop.mapreduce.JobContext");
-      Method m = c.getMethod("getConfiguration");
-      Object o = m.invoke(context, new Object[0]);
-      return (Configuration) o;
-    } catch (Exception e) {
-      throw new RuntimeException(e);
-    }
+  protected static Configuration getConfiguration(JobContext context) {
+    return HadoopCompatUtil.getConfiguration(context);
   }
 }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/343b7359/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
index c68dd56..500f072 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
@@ -20,6 +20,7 @@ import java.io.IOException;
 import java.util.Arrays;
 
 import org.apache.accumulo.core.client.mapreduce.lib.impl.FileOutputConfigurator;
+import org.apache.accumulo.core.util.HadoopCompatUtil;
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
 import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.core.data.ArrayByteSequence;
@@ -62,7 +63,7 @@ public class AccumuloFileOutputFormat extends FileOutputFormat<Key,Value> {
    * @since 1.5.0
    */
   protected static AccumuloConfiguration getAccumuloConfiguration(JobContext context) {
-    return FileOutputConfigurator.getAccumuloConfiguration(CLASS, InputFormatBase.getConfiguration(context));
+    return FileOutputConfigurator.getAccumuloConfiguration(CLASS, HadoopCompatUtil.getConfiguration(context));
   }
 
   /**
@@ -138,7 +139,7 @@ public class AccumuloFileOutputFormat extends FileOutputFormat<Key,Value> {
   @Override
   public RecordWriter<Key,Value> getRecordWriter(TaskAttemptContext context) throws IOException {
     // get the path of the temporary output file
-    final Configuration conf = InputFormatBase.getConfiguration(context);
+    final Configuration conf = HadoopCompatUtil.getConfiguration(context);
     final AccumuloConfiguration acuConf = getAccumuloConfiguration(context);
 
     final String extension = acuConf.get(Property.TABLE_FILE_TYPE);

http://git-wip-us.apache.org/repos/asf/accumulo/blob/343b7359/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
index 010a94f..14950bc 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
@@ -26,6 +26,7 @@ import org.apache.accumulo.core.client.ClientConfiguration;
 import org.apache.accumulo.core.client.IteratorSetting;
 import org.apache.accumulo.core.client.Scanner;
 import org.apache.accumulo.core.client.mapreduce.lib.impl.InputConfigurator;
+import org.apache.accumulo.core.util.HadoopCompatUtil;
 import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Value;
@@ -64,7 +65,7 @@ public class AccumuloMultiTableInputFormat extends AbstractInputFormat<Key,Value
    */
   public static void setInputTableConfigs(Job job, Map<String,InputTableConfig> configs) {
     checkNotNull(configs);
-    InputConfigurator.setInputTableConfigs(CLASS, getConfiguration(job), configs);
+    InputConfigurator.setInputTableConfigs(CLASS, HadoopCompatUtil.getConfiguration(job), configs);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/accumulo/blob/343b7359/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
index 0f495f0..a09b37f 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
@@ -35,6 +35,7 @@ import org.apache.accumulo.core.client.TableExistsException;
 import org.apache.accumulo.core.client.TableNotFoundException;
 import org.apache.accumulo.core.client.ZooKeeperInstance;
 import org.apache.accumulo.core.client.mapreduce.lib.impl.OutputConfigurator;
+import org.apache.accumulo.core.util.HadoopCompatUtil;
 import org.apache.accumulo.core.client.mock.MockInstance;
 import org.apache.accumulo.core.client.security.SecurityErrorCode;
 import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
@@ -120,7 +121,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
    * @see #setConnectorInfo(Job, String, AuthenticationToken)
    */
   protected static Boolean isConnectorInfoSet(JobContext context) {
-    return OutputConfigurator.isConnectorInfoSet(CLASS, InputFormatBase.getConfiguration(context));
+    return OutputConfigurator.isConnectorInfoSet(CLASS, HadoopCompatUtil.getConfiguration(context));
   }
 
   /**
@@ -133,7 +134,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
    * @see #setConnectorInfo(Job, String, AuthenticationToken)
    */
   protected static String getPrincipal(JobContext context) {
-    return OutputConfigurator.getPrincipal(CLASS, InputFormatBase.getConfiguration(context));
+    return OutputConfigurator.getPrincipal(CLASS, HadoopCompatUtil.getConfiguration(context));
   }
 
   /**
@@ -169,7 +170,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
    * @see #setConnectorInfo(Job, String, String)
    */
   protected static AuthenticationToken getAuthenticationToken(JobContext context) {
-    return OutputConfigurator.getAuthenticationToken(CLASS, InputFormatBase.getConfiguration(context));
+    return OutputConfigurator.getAuthenticationToken(CLASS, HadoopCompatUtil.getConfiguration(context));
   }
 
   /**
@@ -226,7 +227,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
    * @see #setMockInstance(Job, String)
    */
   protected static Instance getInstance(JobContext context) {
-    return OutputConfigurator.getInstance(CLASS, InputFormatBase.getConfiguration(context));
+    return OutputConfigurator.getInstance(CLASS, HadoopCompatUtil.getConfiguration(context));
   }
 
   /**
@@ -252,7 +253,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
    * @see #setLogLevel(Job, Level)
    */
   protected static Level getLogLevel(JobContext context) {
-    return OutputConfigurator.getLogLevel(CLASS, InputFormatBase.getConfiguration(context));
+    return OutputConfigurator.getLogLevel(CLASS, HadoopCompatUtil.getConfiguration(context));
   }
 
   /**
@@ -279,7 +280,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
    * @see #setDefaultTableName(Job, String)
    */
   protected static String getDefaultTableName(JobContext context) {
-    return OutputConfigurator.getDefaultTableName(CLASS, InputFormatBase.getConfiguration(context));
+    return OutputConfigurator.getDefaultTableName(CLASS, HadoopCompatUtil.getConfiguration(context));
   }
 
   /**
@@ -306,7 +307,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
    * @see #setBatchWriterOptions(Job, BatchWriterConfig)
    */
   protected static BatchWriterConfig getBatchWriterOptions(JobContext context) {
-    return OutputConfigurator.getBatchWriterOptions(CLASS, InputFormatBase.getConfiguration(context));
+    return OutputConfigurator.getBatchWriterOptions(CLASS, HadoopCompatUtil.getConfiguration(context));
   }
 
   /**
@@ -335,7 +336,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
    * @see #setCreateTables(Job, boolean)
    */
   protected static Boolean canCreateTables(JobContext context) {
-    return OutputConfigurator.canCreateTables(CLASS, InputFormatBase.getConfiguration(context));
+    return OutputConfigurator.canCreateTables(CLASS, HadoopCompatUtil.getConfiguration(context));
   }
 
   /**
@@ -364,7 +365,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
    * @see #setSimulationMode(Job, boolean)
    */
   protected static Boolean getSimulationMode(JobContext context) {
-    return OutputConfigurator.getSimulationMode(CLASS, InputFormatBase.getConfiguration(context));
+    return OutputConfigurator.getSimulationMode(CLASS, HadoopCompatUtil.getConfiguration(context));
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/accumulo/blob/343b7359/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
index a60cb80..de65f1d 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
@@ -308,7 +308,8 @@ public abstract class InputFormatBase<K,V> extends AbstractInputFormat<K,V> {
    */
   @Deprecated
   protected static TabletLocator getTabletLocator(JobContext context) throws TableNotFoundException {
-    return InputConfigurator.getTabletLocator(CLASS, getConfiguration(context), InputConfigurator.getInputTableName(CLASS, getConfiguration(context)));
+    return InputConfigurator.getTabletLocator(CLASS, getConfiguration(context), InputConfigurator.getInputTableName(CLASS,
+        getConfiguration(context)));
   }
 
   protected abstract static class RecordReaderBase<K,V> extends AbstractRecordReader<K,V> {

http://git-wip-us.apache.org/repos/asf/accumulo/blob/343b7359/core/src/main/java/org/apache/accumulo/core/util/HadoopCompatUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/util/HadoopCompatUtil.java b/core/src/main/java/org/apache/accumulo/core/util/HadoopCompatUtil.java
new file mode 100644
index 0000000..27e07e1
--- /dev/null
+++ b/core/src/main/java/org/apache/accumulo/core/util/HadoopCompatUtil.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.util;
+
+import java.lang.reflect.Method;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.mapreduce.JobContext;
+
+/**
+ * Utility to help manage binary compatibility between Hadoop versions 1 and 2.
+ */
+public class HadoopCompatUtil {
+
+  /**
+   * Uses reflection to pull Configuration out of the JobContext for Hadoop 1 and Hadoop2 compatibility
+   * @param context
+   *          The job context for which to return the configuration
+   * @return
+   *          The Hadoop Configuration- irrespective of the version of Hadoop on the classpath.
+   */
+  public static Configuration getConfiguration(JobContext context) {
+    try {
+      Class<?> c = HadoopCompatUtil.class.getClassLoader().loadClass("org.apache.hadoop.mapreduce.JobContext");
+      Method m = c.getMethod("getConfiguration");
+      Object o = m.invoke(context, new Object[0]);
+      return (Configuration) o;
+    } catch (Exception e) {
+      throw new RuntimeException(e);
+    }
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/343b7359/examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TeraSortIngest.java
----------------------------------------------------------------------
diff --git a/examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TeraSortIngest.java b/examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TeraSortIngest.java
index 1b8cbaf..f591e2c 100644
--- a/examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TeraSortIngest.java
+++ b/examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TeraSortIngest.java
@@ -28,7 +28,7 @@ import java.util.Random;
 import org.apache.accumulo.core.cli.ClientOnRequiredTable;
 import org.apache.accumulo.core.client.BatchWriterConfig;
 import org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat;
-import org.apache.accumulo.core.client.mapreduce.InputFormatBase;
+import org.apache.accumulo.core.util.HadoopCompatUtil;
 import org.apache.accumulo.core.data.Mutation;
 import org.apache.accumulo.core.data.Value;
 import org.apache.hadoop.conf.Configuration;
@@ -50,6 +50,7 @@ import org.apache.hadoop.util.ToolRunner;
 
 import com.beust.jcommander.Parameter;
 
+
 /**
  * Generate the *almost* official terasort input data set. (See below) The user specifies the number of rows and the output directory and this class runs a
  * map/reduce program to generate the data. The format of the data is:
@@ -166,8 +167,8 @@ public class TeraSortIngest extends Configured implements Tool {
      */
     @Override
     public List<InputSplit> getSplits(JobContext job) {
-      long totalRows = InputFormatBase.getConfiguration(job).getLong(NUMROWS, 0);
-      int numSplits = InputFormatBase.getConfiguration(job).getInt(NUMSPLITS, 1);
+      long totalRows = HadoopCompatUtil.getConfiguration(job).getLong(NUMROWS, 0);
+      int numSplits = HadoopCompatUtil.getConfiguration(job).getInt(NUMSPLITS, 1);
       long rowsPerSplit = totalRows / numSplits;
       System.out.println("Generating " + totalRows + " using " + numSplits + " maps with step of " + rowsPerSplit);
       ArrayList<InputSplit> splits = new ArrayList<InputSplit>(numSplits);


[4/8] accumulo git commit: ACCUMULO-2696 clairifed error messages in master for balancing and state change.

Posted by ct...@apache.org.
ACCUMULO-2696 clairifed error messages in master for balancing and state change.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/c7c616e4
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/c7c616e4
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/c7c616e4

Branch: refs/heads/master
Commit: c7c616e445dfba50cfa3eeccf25fa8cdb4435d37
Parents: 343b735
Author: Ed Coleman <de...@etcoleman.com>
Authored: Mon Jan 26 16:30:14 2015 -0500
Committer: Eric C. Newton <er...@gmail.com>
Committed: Tue Jan 27 15:48:31 2015 -0500

----------------------------------------------------------------------
 .../main/java/org/apache/accumulo/master/Master.java | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/c7c616e4/server/master/src/main/java/org/apache/accumulo/master/Master.java
----------------------------------------------------------------------
diff --git a/server/master/src/main/java/org/apache/accumulo/master/Master.java b/server/master/src/main/java/org/apache/accumulo/master/Master.java
index 168c270..982b647 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/Master.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/Master.java
@@ -602,7 +602,7 @@ public class Master implements LiveTServerSet.Listener, TableObserver, CurrentSt
         byte[] data = ZooReaderWriter.getInstance().getData(ZooUtil.getRoot(instance) + Constants.ZMASTER_GOAL_STATE, null);
         return MasterGoalState.valueOf(new String(data));
       } catch (Exception e) {
-        log.error("Problem getting real goal state: " + e);
+        log.error("Problem getting real goal state from zookeeper: " + e);
         UtilWaitThread.sleep(1000);
       }
   }
@@ -801,14 +801,14 @@ public class Master implements LiveTServerSet.Listener, TableObserver, CurrentSt
                   if (count == 0)
                     setMasterState(MasterState.UNLOAD_METADATA_TABLETS);
                 }
-                  break;
+                break;
                 case UNLOAD_METADATA_TABLETS: {
                   int count = assignedOrHosted(METADATA_TABLE_ID);
                   log.debug(String.format("There are %d metadata tablets assigned or hosted", count));
                   if (count == 0)
                     setMasterState(MasterState.UNLOAD_ROOT_TABLET);
                 }
-                  break;
+                break;
                 case UNLOAD_ROOT_TABLET: {
                   int count = assignedOrHosted(METADATA_TABLE_ID);
                   if (count > 0) {
@@ -835,15 +835,20 @@ public class Master implements LiveTServerSet.Listener, TableObserver, CurrentSt
                       setMasterState(MasterState.STOP);
                   }
                 }
-                  break;
+                break;
                 default:
                   break;
               }
           }
+        }catch(Throwable t) {
+          log.error("Error occurred reading / switching master goal state. Will continue with attempt to update status", t);
+        }
+
+        try {
           wait = updateStatus();
           eventListener.waitForEvents(wait);
         } catch (Throwable t) {
-          log.error("Error balancing tablets", t);
+          log.error("Error balancing tablets, will wait for " + WAIT_BETWEEN_ERRORS / ONE_SECOND + " (seconds) and then retry", t);
           UtilWaitThread.sleep(WAIT_BETWEEN_ERRORS);
         }
       }


[3/8] accumulo git commit: ACCUMULO-3432 Updating CHANGES file to include all tickets closed against 1.6.2

Posted by ct...@apache.org.
ACCUMULO-3432 Updating CHANGES file to include all tickets closed against 1.6.2


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/9ca9b6ad
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/9ca9b6ad
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/9ca9b6ad

Branch: refs/heads/master
Commit: 9ca9b6ad58d125de79e1556b4b555f4d406b3f67
Parents: 343b735
Author: Corey J. Nolet <cj...@gmail.com>
Authored: Tue Jan 27 09:26:39 2015 -0500
Committer: Corey J. Nolet <cj...@gmail.com>
Committed: Tue Jan 27 09:26:39 2015 -0500

----------------------------------------------------------------------
 CHANGES | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 169 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/9ca9b6ad/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 91b9d31..c6d53a8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -15,6 +15,175 @@
   limitations under the License.
 -->
 
+
+Release Notes - Accumulo - Version 1.6.2
+
+
+** Sub-task
+    * [ACCUMULO-1722] - add the ability to dump user permissions to the dumpConfig admin command
+    * [ACCUMULO-2981] - Cease use of underscore "_" as an identifier
+    * [ACCUMULO-3220] - Division by zero if encryption cipher isn't a block cipher
+    * [ACCUMULO-3221] - Unintential integer overflow in Shell authorization timeout
+    * [ACCUMULO-3223] - DefaultLoadBalancer allows a NPE just to catch it
+    * [ACCUMULO-3225] - Dead code in ConfigCommand
+    * [ACCUMULO-3226] - Unnecessary null check in Authorizations constructor
+    * [ACCUMULO-3228] - fix potential resource leaks
+    * [ACCUMULO-3278] - Mismatched arguments provided to Retry constructor in RetryFactory
+    * [ACCUMULO-3317] - Change Jetty configuration to disallow SSLv3
+    * [ACCUMULO-3318] - Alter Thrift RPC components to disallow SSLv3
+    * [ACCUMULO-3386] - Update release notes to explain how to correct data written with the buggy DateLexicoder
+    * [ACCUMULO-3401] - Remove internal use of deprecated test classes
+    * [ACCUMULO-3487] - FateAdmin command ignores jcommander txid args
+    * [ACCUMULO-3515] - SplitLarge command ignores jcommander maxSize option
+    * [ACCUMULO-3516] - ZooZap does not use verbose option from command-line
+
+
+** Bug
+    * [ACCUMULO-1292] - Tablet constructor can hang on vfs classloader, preventing tablets from loading
+    * [ACCUMULO-2381] - AddFilesWithMissingEntries needs to just find abandoned files, or be deleted
+    * [ACCUMULO-2591] - TeraSortIngest should maintain binary compatibility between Hadoop 1 and Hadoop 2
+    * [ACCUMULO-2641] - scan id not set in org.apache.accumulo.core.client.admin.ActiveScan
+    * [ACCUMULO-2727] - version argument of ZooUtil.recursiveDelete is ignored
+    * [ACCUMULO-2793] - Clean up handling of moving HDFS under Accumulo from non-HA to HA
+    * [ACCUMULO-3002] - Handle instance.volumes in upgrade
+    * [ACCUMULO-3085] - Missing space in RootFiles log message
+    * [ACCUMULO-3111] - Race condition in MetaSplitIT
+    * [ACCUMULO-3126] - Malformed package-info.java
+    * [ACCUMULO-3135] - RW concurrent test failed with table doesn't exist exception
+    * [ACCUMULO-3157] - MetaDataTableScanner is unclosed upon return from FindOfflineTablets#findOffline()
+    * [ACCUMULO-3158] - FindOfflineTablets.close() causing compilation failure
+    * [ACCUMULO-3172] - mavanagaiata plugin marks releases "dirty"
+    * [ACCUMULO-3181] - VolumeChooser usage doesn't always comply with implied API contract
+    * [ACCUMULO-3182] - Empty or partial WAL header blocks successful recovery
+    * [ACCUMULO-3183] - Compaction strategy does not use per table classpath
+    * [ACCUMULO-3187] - ExamplesIT testScansWithInterference and testIsolatedScansWithInterference run out of heap
+    * [ACCUMULO-3189] - Compaction strategy plan is not validated
+    * [ACCUMULO-3190] - Fix use of deprecated instance.getConfiguration()
+    * [ACCUMULO-3194] - BulkSplitOptimizationIT failed with 5 files associated with tablet instead of 1-4 files
+    * [ACCUMULO-3213] - EOFException on metadata tablet during DeleteTableDuringSplitIT
+    * [ACCUMULO-3215] - Import tries to use default DFS directory instead of configured
+    * [ACCUMULO-3217] - KeyValue doesn't implement equals or hashCode
+    * [ACCUMULO-3218] - ZooKeeperInstance only uses first ZooKeeper in list of quorum
+    * [ACCUMULO-3229] - Shell displays authTimeout poorly
+    * [ACCUMULO-3230] - MR/Yarn job submission fails using `accumulo` with timeline client enabled
+    * [ACCUMULO-3242] - Consolidate ZK code WRT retries
+    * [ACCUMULO-3244] - bulk import report should include filenames
+    * [ACCUMULO-3255] - ExistingMacIT.testExistingRunningInstance failed because it started on top of an already running instance
+    * [ACCUMULO-3261] - Image Randomwalk fails if no rows are found
+    * [ACCUMULO-3264] - AuditMessageIT broken
+    * [ACCUMULO-3269] - nondeterministic failure of MiniAccumuloClusterStartStopTest
+    * [ACCUMULO-3280] - Initialize creates unnecessary directories
+    * [ACCUMULO-3286] - ConditionalWriterIT.testTrace failed
+    * [ACCUMULO-3289] - BulkFileIT failed to import files
+    * [ACCUMULO-3290] - ShellServerIT#listscans fails if scan shows up a QUEUED
+    * [ACCUMULO-3291] - MiniAccumuloClusterStartStopTest uses /tmp instead of target/
+    * [ACCUMULO-3292] - ConditionalWriterIT#testOffline failed
+    * [ACCUMULO-3296] - ZooUtil.recursiveDelete looping indefinitely
+    * [ACCUMULO-3297] - FileManager semaphore acquisition may block Root and Metadata scans
+    * [ACCUMULO-3298] - ConditionalMutationSet.DuplicateFitler is misspelled 
+    * [ACCUMULO-3301] - TableOperationsImpl.waitForTableStateTransition(String, TableState) never fetches `future` column
+    * [ACCUMULO-3305] - MiniAccumuloClusterImpl#killProcess should use the stopWithTimeout method
+    * [ACCUMULO-3312] - IllegalArgumentException in master and gc during randomwalk
+    * [ACCUMULO-3314] - RewriteTabletDirectoriesIT failed
+    * [ACCUMULO-3323] - Bad formatting in continuous ingest readme
+    * [ACCUMULO-3332] - CloudStone tests fail with "NameError: global name 'accumuloConf' is not defined"
+    * [ACCUMULO-3333] - Cloudstone1 doesn't pass in username/password to shell
+    * [ACCUMULO-3334] - CloudStone4 doesn't provide arguments correctly to TeraSortIngest
+    * [ACCUMULO-3340] - MiniAccumuloCluster takes a long time to start when IPv6 is enabled
+    * [ACCUMULO-3341] - `deletetable -p` should never match a table in the accumulo namespace
+    * [ACCUMULO-3351] - Tracer can't write traces after offline and online of trace table
+    * [ACCUMULO-3352] - Confusing BulkImport error message
+    * [ACCUMULO-3355] - TraceDump.printStackTrace prints Long.MAX_VALUE as a date when trace is not found
+    * [ACCUMULO-3358] - Thread in ReadWriteIT.interleaveTest is never started
+    * [ACCUMULO-3362] - Incorrect javadoc on StatsCombiner
+    * [ACCUMULO-3365] - TraceServer dies if trace table is offline during constructor
+    * [ACCUMULO-3372] - deadlock in tserver
+    * [ACCUMULO-3377] - BulkImporter.getAssignments provides unhelpful exception with bad file permissions
+    * [ACCUMULO-3383] - AccumuloVFSClassloader creates conflicting local cache directory names when vfs.cache.dir property is set.
+    * [ACCUMULO-3385] - DateLexicoder fails to correctly order dates prior to 1970
+    * [ACCUMULO-3392] - Incorrect javadoc on MiniAccumuloCluster.start
+    * [ACCUMULO-3397] - CANDIDATE_MEMORY_PERCENTAGE is too low
+    * [ACCUMULO-3406] - IllegalArgumentException during file GC
+    * [ACCUMULO-3407] - scan page in monitor is causing the monitor to crash w/OOM
+    * [ACCUMULO-3408] - display the exact number of tablet servers
+    * [ACCUMULO-3419] - Some ExamplesIT tests repeatedly failing
+    * [ACCUMULO-3424] - Token class option always requires token property
+    * [ACCUMULO-3435] - Sporadic MetadataMaxFilesIT failure
+    * [ACCUMULO-3438] - Shell TokenConverter fails silently
+    * [ACCUMULO-3441] - Master stuck attempting to assign root tablet to previous session of tserver
+    * [ACCUMULO-3443] - DfsLogger doesn't specify charset when reading header bytes
+    * [ACCUMULO-3445] - Server failure to login using Kerberos doesn't exit the process
+    * [ACCUMULO-3446] - Move SecurityUtil out of core
+    * [ACCUMULO-3448] - ZooUtil throws exception even when retry succeeds
+    * [ACCUMULO-3450] - Example logging configs should disable audit log to application log files
+    * [ACCUMULO-3462] - tablet not major compacting
+    * [ACCUMULO-3468] - MonitorUtil's zookeeper timeout is a little low
+    * [ACCUMULO-3472] - VolumeImpl.isValidPath not working as intended
+    * [ACCUMULO-3474] - ProxyServer ignores value of isDeleted on ColumnUpdate
+    * [ACCUMULO-3475] - Shell.config()'s return value is ignored.
+    * [ACCUMULO-3481] - boolean not updated when native maps loaded from System.loadLibrary
+    * [ACCUMULO-3486] - Page numbers in the user manual's table of contents are incorrect.
+    * [ACCUMULO-3496] - ZooKeeperInstance doesn't validate instance name on creation
+    * [ACCUMULO-3503] - generate_thrift.sh search and replace for TInfo.java is not working on Mac
+    * [ACCUMULO-3504] - Typo in startup message
+    * [ACCUMULO-3532] - ServerType.TRACER and ServerType.MONITOR were added in 1.6.2 causing it to lose backwards compatibility
+    * [ACCUMULO-3533] - AbstractInputFormat.getConfiguration(JobContext) changed from package-private to public without minor version bump
+
+
+** Improvement
+    * [ACCUMULO-2290] - documentation should describe how to stop / start individual nodes
+    * [ACCUMULO-2826] - IntersectingIterator should allow a single column family
+    * [ACCUMULO-2984] - Enable running MAC using an existing instance
+    * [ACCUMULO-3160] - ExamplesIT usage of MAC is sub-par
+    * [ACCUMULO-3167] - Decouple MiniAccumuloCluster from integration test base class
+    * [ACCUMULO-3175] - More IT stabilizations
+    * [ACCUMULO-3188] - DfsLogger has inefficient seek in crypto case
+    * [ACCUMULO-3192] - Improve 'fate print' to support the '-np' argument
+    * [ACCUMULO-3212] - Configuration objects created with CredentialProvider load defaults unnecessarily
+    * [ACCUMULO-3224] - Shell should use nanos for auth timeout
+    * [ACCUMULO-3233] - Random port for ZK in MiniAccumulo might not be unique
+    * [ACCUMULO-3237] - generate-thrift.sh should check for 0.9.1, not just 0.9
+    * [ACCUMULO-3257] - Make Randomwalk respect timeout (maxSec) more reliably
+    * [ACCUMULO-3258] - Warning about synconclose is way too spammy
+    * [ACCUMULO-3259] - Randomwalk Bulk.xml create queued threads without bound.
+    * [ACCUMULO-3263] - re-write tablet directories to fairly use multiple name-nodes
+    * [ACCUMULO-3265] - Describe bootstrap_config.sh in README
+    * [ACCUMULO-3271] - Add splits to tables in MultiTable randomwalk module
+    * [ACCUMULO-3275] - "not balancing because of unhosted tablets" message should include number of unhosted tablets
+    * [ACCUMULO-3300] - monitor ingest, query, etc. rates are too smooth
+    * [ACCUMULO-3304] - Add introspection of long running assignments
+    * [ACCUMULO-3308] - Add section to "11.5. Configuration" to IMM and WAL configuration values
+    * [ACCUMULO-3315] - Explicitly wait for threadpool shutdown in RandomizeVolumes
+    * [ACCUMULO-3337] - Assorted test stabilizations from external test runs
+    * [ACCUMULO-3338] - Update example classpath configuration
+    * [ACCUMULO-3347] - Improve logging for cancelled scans
+    * [ACCUMULO-3395] - Keep a reference to Logger in RpcWrapper
+    * [ACCUMULO-3436] - User manual doesn't have any discussion about FATE
+    * [ACCUMULO-3440] - TabletGroupWatcher tablet assigning logging is excessive
+    * [ACCUMULO-3466] - Range.mergeOverlapping(Collection) should have short-circuit for collections with only one item
+
+
+** Task
+    * [ACCUMULO-2997] - Confusing race condition comment in resizing of TServer client pool
+    * [ACCUMULO-3203] - Remove unused, undocumented SecretKeyEncryptionStrategyContext
+    * [ACCUMULO-3205] - JCEKS files sometimes aren't detected as binary; they should be excluded from RAT.
+    * [ACCUMULO-3243] - Ensure all ITs have some timeout
+    * [ACCUMULO-3288] - Use static import for UTF-8
+    * [ACCUMULO-3316] - Update TLS usage to mitigate POODLE
+    * [ACCUMULO-3400] - VolumeManager should validate the choice that a VolumeChooser makes
+    * [ACCUMULO-3405] - Update findbugs maven plugin
+    * [ACCUMULO-3433] - Lack of consistent serialversionid causing TraceRepoDeserializationTest to fail
+    * [ACCUMULO-3451] - Enforce some minimal style checks in the build
+    * [ACCUMULO-3476] - Better documentation on configuring Accumulo for SSL in user manual
+    * [ACCUMULO-3505] - Remove existingInstance from MiniAccumuloConfig
+
+
+** Test
+    * [ACCUMULO-3207] - SimpleBalancerFairnessIT fails
+
+
+
+
 Release Notes - Accumulo - Version 1.6.1
 
 


[6/8] accumulo git commit: ACCUMULO-3533 Making getConfiguration() method package-private in AbstractInputFormat

Posted by ct...@apache.org.
ACCUMULO-3533 Making getConfiguration() method package-private in AbstractInputFormat


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/23c97cd7
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/23c97cd7
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/23c97cd7

Branch: refs/heads/master
Commit: 23c97cd782f2704a7ee3d9659da5bc79b4189b11
Parents: 9ca9b6a
Author: Corey J. Nolet <cj...@gmail.com>
Authored: Wed Jan 28 00:26:13 2015 -0500
Committer: Corey J. Nolet <cj...@gmail.com>
Committed: Wed Jan 28 00:26:13 2015 -0500

----------------------------------------------------------------------
 .../apache/accumulo/core/client/mapreduce/AbstractInputFormat.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/23c97cd7/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
index 95fed00..112e6e5 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
@@ -676,7 +676,7 @@ public abstract class AbstractInputFormat<K, V> extends InputFormat<K,V> {
     return splits;
   }
 
-  protected static Configuration getConfiguration(JobContext context) {
+  static Configuration getConfiguration(JobContext context) {
     return HadoopCompatUtil.getConfiguration(context);
   }
 }


[8/8] accumulo git commit: Merge branch '1.6'

Posted by ct...@apache.org.
Merge branch '1.6'

Conflicts:
	core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
	core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
	core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
	core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
	core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
	docs/src/main/latex/accumulo_user_manual/accumulo_user_manual.tex
	examples/simple/src/main/java/org/apache/accumulo/examples/simple/mapreduce/TeraSortIngest.java


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/30fad5a6
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/30fad5a6
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/30fad5a6

Branch: refs/heads/master
Commit: 30fad5a638462847c2a0e80dd25b452d67fb9937
Parents: 868dcd5 abf0b99
Author: Christopher Tubbs <ct...@apache.org>
Authored: Wed Jan 28 14:00:49 2015 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Wed Jan 28 14:00:49 2015 -0500

----------------------------------------------------------------------
 CHANGES | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 169 insertions(+)
----------------------------------------------------------------------



[5/8] accumulo git commit: ACCUMULO-2696 revert whitespace changes

Posted by ct...@apache.org.
ACCUMULO-2696 revert whitespace changes


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/b2f7e93c
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/b2f7e93c
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/b2f7e93c

Branch: refs/heads/master
Commit: b2f7e93cf1779d46326391ac1a8bfa19202e6d14
Parents: c7c616e
Author: Eric C. Newton <er...@gmail.com>
Authored: Tue Jan 27 16:32:55 2015 -0500
Committer: Eric C. Newton <er...@gmail.com>
Committed: Tue Jan 27 16:32:55 2015 -0500

----------------------------------------------------------------------
 .../src/main/java/org/apache/accumulo/master/Master.java       | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/b2f7e93c/server/master/src/main/java/org/apache/accumulo/master/Master.java
----------------------------------------------------------------------
diff --git a/server/master/src/main/java/org/apache/accumulo/master/Master.java b/server/master/src/main/java/org/apache/accumulo/master/Master.java
index 982b647..2989608 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/Master.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/Master.java
@@ -801,14 +801,14 @@ public class Master implements LiveTServerSet.Listener, TableObserver, CurrentSt
                   if (count == 0)
                     setMasterState(MasterState.UNLOAD_METADATA_TABLETS);
                 }
-                break;
+                  break;
                 case UNLOAD_METADATA_TABLETS: {
                   int count = assignedOrHosted(METADATA_TABLE_ID);
                   log.debug(String.format("There are %d metadata tablets assigned or hosted", count));
                   if (count == 0)
                     setMasterState(MasterState.UNLOAD_ROOT_TABLET);
                 }
-                break;
+                  break;
                 case UNLOAD_ROOT_TABLET: {
                   int count = assignedOrHosted(METADATA_TABLE_ID);
                   if (count > 0) {
@@ -835,7 +835,7 @@ public class Master implements LiveTServerSet.Listener, TableObserver, CurrentSt
                       setMasterState(MasterState.STOP);
                   }
                 }
-                break;
+                  break;
                 default:
                   break;
               }