Repository: hbase
Updated Branches:
  refs/heads/branch-1 2e537bc4a -> ce651f5c6


http://git-wip-us.apache.org/repos/asf/hbase/blob/ce651f5c/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
----------------------------------------------------------------------
diff --git 
a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
 
b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
index b0a844a..09479c4 100644
--- 
a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
+++ 
b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
@@ -9725,540 +9725,6 @@ public final class ZooKeeperProtos {
     // @@protoc_insertion_point(class_scope:hbase.pb.SwitchState)
   }
 
-  public interface SplitAndMergeStateOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-
-    // optional bool split_enabled = 1;
-    /**
-     * <code>optional bool split_enabled = 1;</code>
-     */
-    boolean hasSplitEnabled();
-    /**
-     * <code>optional bool split_enabled = 1;</code>
-     */
-    boolean getSplitEnabled();
-
-    // optional bool merge_enabled = 2;
-    /**
-     * <code>optional bool merge_enabled = 2;</code>
-     */
-    boolean hasMergeEnabled();
-    /**
-     * <code>optional bool merge_enabled = 2;</code>
-     */
-    boolean getMergeEnabled();
-  }
-  /**
-   * Protobuf type {@code hbase.pb.SplitAndMergeState}
-   *
-   * <pre>
-   **
-   * State for split and merge, used in hbck
-   * </pre>
-   */
-  public static final class SplitAndMergeState extends
-      com.google.protobuf.GeneratedMessage
-      implements SplitAndMergeStateOrBuilder {
-    // Use SplitAndMergeState.newBuilder() to construct.
-    private SplitAndMergeState(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private SplitAndMergeState(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final SplitAndMergeState defaultInstance;
-    public static SplitAndMergeState getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public SplitAndMergeState getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private SplitAndMergeState(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              splitEnabled_ = input.readBool();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              mergeEnabled_ = input.readBool();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.internal_static_hbase_pb_SplitAndMergeState_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.internal_static_hbase_pb_SplitAndMergeState_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState.class,
 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<SplitAndMergeState> PARSER =
-        new com.google.protobuf.AbstractParser<SplitAndMergeState>() {
-      public SplitAndMergeState parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new SplitAndMergeState(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<SplitAndMergeState> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    // optional bool split_enabled = 1;
-    public static final int SPLIT_ENABLED_FIELD_NUMBER = 1;
-    private boolean splitEnabled_;
-    /**
-     * <code>optional bool split_enabled = 1;</code>
-     */
-    public boolean hasSplitEnabled() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>optional bool split_enabled = 1;</code>
-     */
-    public boolean getSplitEnabled() {
-      return splitEnabled_;
-    }
-
-    // optional bool merge_enabled = 2;
-    public static final int MERGE_ENABLED_FIELD_NUMBER = 2;
-    private boolean mergeEnabled_;
-    /**
-     * <code>optional bool merge_enabled = 2;</code>
-     */
-    public boolean hasMergeEnabled() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>optional bool merge_enabled = 2;</code>
-     */
-    public boolean getMergeEnabled() {
-      return mergeEnabled_;
-    }
-
-    private void initFields() {
-      splitEnabled_ = false;
-      mergeEnabled_ = false;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBool(1, splitEnabled_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBool(2, mergeEnabled_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBoolSize(1, splitEnabled_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBoolSize(2, mergeEnabled_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    @java.lang.Override
-    public boolean equals(final java.lang.Object obj) {
-      if (obj == this) {
-       return true;
-      }
-      if (!(obj instanceof 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState)) 
{
-        return super.equals(obj);
-      }
-      
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
other = 
(org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState) 
obj;
-
-      boolean result = true;
-      result = result && (hasSplitEnabled() == other.hasSplitEnabled());
-      if (hasSplitEnabled()) {
-        result = result && (getSplitEnabled()
-            == other.getSplitEnabled());
-      }
-      result = result && (hasMergeEnabled() == other.hasMergeEnabled());
-      if (hasMergeEnabled()) {
-        result = result && (getMergeEnabled()
-            == other.getMergeEnabled());
-      }
-      result = result &&
-          getUnknownFields().equals(other.getUnknownFields());
-      return result;
-    }
-
-    private int memoizedHashCode = 0;
-    @java.lang.Override
-    public int hashCode() {
-      if (memoizedHashCode != 0) {
-        return memoizedHashCode;
-      }
-      int hash = 41;
-      hash = (19 * hash) + getDescriptorForType().hashCode();
-      if (hasSplitEnabled()) {
-        hash = (37 * hash) + SPLIT_ENABLED_FIELD_NUMBER;
-        hash = (53 * hash) + hashBoolean(getSplitEnabled());
-      }
-      if (hasMergeEnabled()) {
-        hash = (37 * hash) + MERGE_ENABLED_FIELD_NUMBER;
-        hash = (53 * hash) + hashBoolean(getMergeEnabled());
-      }
-      hash = (29 * hash) + getUnknownFields().hashCode();
-      memoizedHashCode = hash;
-      return hash;
-    }
-
-    public static 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder 
newBuilder(org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState
 prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code hbase.pb.SplitAndMergeState}
-     *
-     * <pre>
-     **
-     * State for split and merge, used in hbck
-     * </pre>
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeStateOrBuilder
 {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.internal_static_hbase_pb_SplitAndMergeState_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.internal_static_hbase_pb_SplitAndMergeState_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState.class,
 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState.Builder.class);
-      }
-
-      // Construct using 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        splitEnabled_ = false;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        mergeEnabled_ = false;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.internal_static_hbase_pb_SplitAndMergeState_descriptor;
-      }
-
-      public 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
getDefaultInstanceForType() {
-        return 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState.getDefaultInstance();
-      }
-
-      public 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
build() {
-        
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
buildPartial() {
-        
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
result = new 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.splitEnabled_ = splitEnabled_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.mergeEnabled_ = mergeEnabled_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState) {
-          return 
mergeFrom((org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder 
mergeFrom(org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState
 other) {
-        if (other == 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState.getDefaultInstance())
 return this;
-        if (other.hasSplitEnabled()) {
-          setSplitEnabled(other.getSplitEnabled());
-        }
-        if (other.hasMergeEnabled()) {
-          setMergeEnabled(other.getMergeEnabled());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState 
parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = 
(org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitAndMergeState) 
e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      // optional bool split_enabled = 1;
-      private boolean splitEnabled_ ;
-      /**
-       * <code>optional bool split_enabled = 1;</code>
-       */
-      public boolean hasSplitEnabled() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>optional bool split_enabled = 1;</code>
-       */
-      public boolean getSplitEnabled() {
-        return splitEnabled_;
-      }
-      /**
-       * <code>optional bool split_enabled = 1;</code>
-       */
-      public Builder setSplitEnabled(boolean value) {
-        bitField0_ |= 0x00000001;
-        splitEnabled_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional bool split_enabled = 1;</code>
-       */
-      public Builder clearSplitEnabled() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        splitEnabled_ = false;
-        onChanged();
-        return this;
-      }
-
-      // optional bool merge_enabled = 2;
-      private boolean mergeEnabled_ ;
-      /**
-       * <code>optional bool merge_enabled = 2;</code>
-       */
-      public boolean hasMergeEnabled() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>optional bool merge_enabled = 2;</code>
-       */
-      public boolean getMergeEnabled() {
-        return mergeEnabled_;
-      }
-      /**
-       * <code>optional bool merge_enabled = 2;</code>
-       */
-      public Builder setMergeEnabled(boolean value) {
-        bitField0_ |= 0x00000002;
-        mergeEnabled_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional bool merge_enabled = 2;</code>
-       */
-      public Builder clearMergeEnabled() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        mergeEnabled_ = false;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:hbase.pb.SplitAndMergeState)
-    }
-
-    static {
-      defaultInstance = new SplitAndMergeState(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:hbase.pb.SplitAndMergeState)
-  }
-
   private static com.google.protobuf.Descriptors.Descriptor
     internal_static_hbase_pb_MetaRegionServer_descriptor;
   private static
@@ -10319,11 +9785,6 @@ public final class ZooKeeperProtos {
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_hbase_pb_SwitchState_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_hbase_pb_SplitAndMergeState_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_hbase_pb_SplitAndMergeState_fieldAccessorTable;
 
   public static com.google.protobuf.Descriptors.FileDescriptor
       getDescriptor() {
@@ -10368,11 +9829,9 @@ public final class ZooKeeperProtos {
       "\n\nlock_owner\030\002 \001(\0132\024.hbase.pb.ServerName" +
       "\022\021\n\tthread_id\030\003 \001(\003\022\021\n\tis_shared\030\004 
\001(\010\022\017" +
       "\n\007purpose\030\005 \001(\t\022\023\n\013create_time\030\006 
\001(\003\"\036\n\013" +
-      "SwitchState\022\017\n\007enabled\030\001 \001(\010\"B\n\022SplitAnd" +
-      "MergeState\022\025\n\rsplit_enabled\030\001 \001(\010\022\025\n\rmer" +
-      "ge_enabled\030\002 \001(\010BE\n*org.apache.hadoop.hb" +
-      "ase.protobuf.generatedB\017ZooKeeperProtosH" +
-      "\001\210\001\001\240\001\001"
+      "SwitchState\022\017\n\007enabled\030\001 \001(\010BE\n*org.apac" +
+      "he.hadoop.hbase.protobuf.generatedB\017ZooK" +
+      "eeperProtosH\001\210\001\001\240\001\001"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner 
assigner =
       new 
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
@@ -10451,12 +9910,6 @@ public final class ZooKeeperProtos {
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_hbase_pb_SwitchState_descriptor,
               new java.lang.String[] { "Enabled", });
-          internal_static_hbase_pb_SplitAndMergeState_descriptor =
-            getDescriptor().getMessageTypes().get(12);
-          internal_static_hbase_pb_SplitAndMergeState_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_hbase_pb_SplitAndMergeState_descriptor,
-              new java.lang.String[] { "SplitEnabled", "MergeEnabled", });
           return null;
         }
       };

http://git-wip-us.apache.org/repos/asf/hbase/blob/ce651f5c/hbase-protocol/src/main/protobuf/Master.proto
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/protobuf/Master.proto 
b/hbase-protocol/src/main/protobuf/Master.proto
index a335ec7..3fb09f0 100644
--- a/hbase-protocol/src/main/protobuf/Master.proto
+++ b/hbase-protocol/src/main/protobuf/Master.proto
@@ -280,7 +280,6 @@ message SetSplitOrMergeEnabledRequest {
   required bool enabled = 1;
   optional bool synchronous = 2;
   repeated MasterSwitchType switch_types = 3;
-  optional bool skip_lock = 4;
 }
 
 message SetSplitOrMergeEnabledResponse {
@@ -295,12 +294,6 @@ message IsSplitOrMergeEnabledResponse {
   required bool enabled = 1;
 }
 
-message ReleaseSplitOrMergeLockAndRollbackRequest {
-}
-
-message ReleaseSplitOrMergeLockAndRollbackResponse {
-}
-
 message NormalizeRequest {
 }
 
@@ -660,12 +653,6 @@ service MasterService {
     returns(IsSplitOrMergeEnabledResponse);
 
   /**
-   * Release lock and rollback state.
-   */
-  rpc 
ReleaseSplitOrMergeLockAndRollback(ReleaseSplitOrMergeLockAndRollbackRequest)
-    returns(ReleaseSplitOrMergeLockAndRollbackResponse);
-
-  /**
    * Run region normalizer. Can NOT run for various reasons. Check logs.
    */
   rpc Normalize(NormalizeRequest)

http://git-wip-us.apache.org/repos/asf/hbase/blob/ce651f5c/hbase-protocol/src/main/protobuf/ZooKeeper.proto
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/protobuf/ZooKeeper.proto 
b/hbase-protocol/src/main/protobuf/ZooKeeper.proto
index 4109481..b408db9 100644
--- a/hbase-protocol/src/main/protobuf/ZooKeeper.proto
+++ b/hbase-protocol/src/main/protobuf/ZooKeeper.proto
@@ -173,12 +173,4 @@ message TableLock {
  */
 message SwitchState {
   optional bool enabled = 1;
-}
-
-/**
- * State for split and merge, used in hbck
- */
-message SplitAndMergeState {
-  optional bool split_enabled = 1;
-  optional bool merge_enabled = 2;
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hbase/blob/ce651f5c/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
index aee2fbf..b59292f 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
@@ -28,7 +28,6 @@ import java.util.Set;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.CoordinatedStateException;
-import org.apache.hadoop.hbase.DoNotRetryIOException;
 import org.apache.hadoop.hbase.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
@@ -44,7 +43,6 @@ import org.apache.hadoop.hbase.UnknownRegionException;
 import org.apache.hadoop.hbase.MetaTableAccessor;
 import org.apache.hadoop.hbase.client.Admin;
 import org.apache.hadoop.hbase.errorhandling.ForeignException;
-import org.apache.hadoop.hbase.exceptions.DeserializationException;
 import org.apache.hadoop.hbase.exceptions.MergeRegionException;
 import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;
 import org.apache.hadoop.hbase.ipc.PriorityFunction;
@@ -1478,10 +1476,6 @@ public class MasterRpcServices extends RSRpcServices
     try {
       master.checkInitialized();
       boolean newValue = request.getEnabled();
-      boolean skipLock = request.getSkipLock();
-      if (!master.getSplitOrMergeTracker().lock(skipLock)) {
-        throw new DoNotRetryIOException("can't set splitOrMerge switch due to 
lock");
-      }
       for (MasterProtos.MasterSwitchType masterSwitchType : 
request.getSwitchTypesList()) {
         Admin.MasterSwitchType switchType = convert(masterSwitchType);
         boolean oldValue = master.isSplitOrMergeEnabled(switchType);
@@ -1515,24 +1509,6 @@ public class MasterRpcServices extends RSRpcServices
   }
 
   @Override
-  public MasterProtos.ReleaseSplitOrMergeLockAndRollbackResponse
-  releaseSplitOrMergeLockAndRollback(RpcController controller,
-    MasterProtos.ReleaseSplitOrMergeLockAndRollbackRequest request) throws 
ServiceException {
-    try {
-      master.getSplitOrMergeTracker().releaseLockAndRollback();
-    } catch (KeeperException e) {
-      throw new ServiceException(e);
-    } catch (DeserializationException e) {
-      throw new ServiceException(e);
-    } catch (InterruptedException e) {
-      throw new ServiceException(e);
-    }
-    MasterProtos.ReleaseSplitOrMergeLockAndRollbackResponse.Builder builder =
-      MasterProtos.ReleaseSplitOrMergeLockAndRollbackResponse.newBuilder();
-    return builder.build();
-  }
-
-  @Override
   public NormalizeResponse normalize(RpcController controller,
       NormalizeRequest request) throws ServiceException {
     try {

http://git-wip-us.apache.org/repos/asf/hbase/blob/ce651f5c/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
index 3b38071..59554cd 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
@@ -17,16 +17,6 @@
  */
 package org.apache.hadoop.hbase.util;
 
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Joiner;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Ordering;
-import com.google.common.collect.TreeMultimap;
-import com.google.protobuf.ServiceException;
-
 import java.io.Closeable;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -148,6 +138,15 @@ import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
 import org.apache.zookeeper.KeeperException;
 
+import com.google.common.base.Joiner;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Multimap;
+import com.google.common.collect.Ordering;
+import com.google.common.collect.TreeMultimap;
+import com.google.protobuf.ServiceException;
+
 /**
  * HBaseFsck (hbck) is a tool for checking and repairing region consistency and
  * table integrity problems in a corrupted HBase.
@@ -311,7 +310,6 @@ public class HBaseFsck extends Configured implements 
Closeable {
 
   private Map<TableName, Set<String>> skippedRegions = new HashMap<TableName, 
Set<String>>();
 
-  ZooKeeperWatcher zkw = null;
   /**
    * List of orphaned table ZNodes
    */
@@ -357,7 +355,6 @@ public class HBaseFsck extends Configured implements 
Closeable {
         "hbase.hbck.lockfile.attempt.sleep.interval", 
DEFAULT_LOCK_FILE_ATTEMPT_SLEEP_INTERVAL),
       getConf().getInt(
         "hbase.hbck.lockfile.attempt.maxsleeptime", 
DEFAULT_LOCK_FILE_ATTEMPT_MAX_SLEEP_TIME));
-    zkw = createZooKeeperWatcher();
   }
 
   private class FileLockCallable implements Callable<FSDataOutputStream> {
@@ -699,8 +696,7 @@ public class HBaseFsck extends Configured implements 
Closeable {
     }
     boolean[] oldSplitAndMerge = null;
     if (shouldDisableSplitAndMerge()) {
-      admin.releaseSplitOrMergeLockAndRollback();
-      oldSplitAndMerge = admin.setSplitOrMergeEnabled(false, false, false,
+      oldSplitAndMerge = admin.setSplitOrMergeEnabled(false, false,
         Admin.MasterSwitchType.SPLIT, Admin.MasterSwitchType.MERGE);
     }
 
@@ -717,7 +713,14 @@ public class HBaseFsck extends Configured implements 
Closeable {
 
       if (shouldDisableSplitAndMerge()) {
         if (oldSplitAndMerge != null) {
-          admin.releaseSplitOrMergeLockAndRollback();
+          if (oldSplitAndMerge[0] && oldSplitAndMerge[1]) {
+            admin.setSplitOrMergeEnabled(true, false,
+              Admin.MasterSwitchType.SPLIT, Admin.MasterSwitchType.MERGE);
+          } else if (oldSplitAndMerge[0]) {
+            admin.setSplitOrMergeEnabled(true, false, 
Admin.MasterSwitchType.SPLIT);
+          } else if (oldSplitAndMerge[1]) {
+            admin.setSplitOrMergeEnabled(true, false, 
Admin.MasterSwitchType.MERGE);
+          }
         }
       }
     }
@@ -754,10 +757,6 @@ public class HBaseFsck extends Configured implements 
Closeable {
 
   @Override
   public void close() throws IOException {
-    if (zkw != null) {
-      zkw.close();
-      zkw = null;
-    }
     IOUtils.closeQuietly(admin);
     IOUtils.closeQuietly(meta);
     IOUtils.closeQuietly(connection);
@@ -1645,6 +1644,7 @@ public class HBaseFsck extends Configured implements 
Closeable {
     HConnectionManager.execute(new HConnectable<Void>(getConf()) {
       @Override
       public Void connect(HConnection connection) throws IOException {
+        ZooKeeperWatcher zkw = createZooKeeperWatcher();
         try {
           for (TableName tableName :
               ZKTableStateClientSideReader.getDisabledOrDisablingTables(zkw)) {
@@ -1654,6 +1654,8 @@ public class HBaseFsck extends Configured implements 
Closeable {
           throw new IOException(ke);
         } catch (InterruptedException e) {
           throw new InterruptedIOException();
+        } finally {
+          zkw.close();
         }
         return null;
       }
@@ -1775,7 +1777,14 @@ public class HBaseFsck extends Configured implements 
Closeable {
 
   private ServerName getMetaRegionServerName(int replicaId)
   throws IOException, KeeperException {
-    return new MetaTableLocator().getMetaRegionLocation(zkw, replicaId);
+    ZooKeeperWatcher zkw = createZooKeeperWatcher();
+    ServerName sn = null;
+    try {
+      sn = new MetaTableLocator().getMetaRegionLocation(zkw, replicaId);
+    } finally {
+      zkw.close();
+    }
+    return sn;
   }
 
   /**
@@ -3221,21 +3230,32 @@ public class HBaseFsck extends Configured implements 
Closeable {
   }
 
   private void checkAndFixTableLocks() throws IOException {
-    TableLockChecker checker = new TableLockChecker(zkw, errors);
-    checker.checkTableLocks();
+    ZooKeeperWatcher zkw = createZooKeeperWatcher();
+
+    try {
+      TableLockChecker checker = new TableLockChecker(zkw, errors);
+      checker.checkTableLocks();
 
-    if (this.fixTableLocks) {
-      checker.fixExpiredTableLocks();
+      if (this.fixTableLocks) {
+        checker.fixExpiredTableLocks();
+      }
+    } finally {
+      zkw.close();
     }
   }
 
   private void checkAndFixReplication() throws IOException {
-    ReplicationChecker checker = new ReplicationChecker(getConf(), zkw, 
connection, errors);
-    checker.checkUnDeletedQueues();
+    ZooKeeperWatcher zkw = createZooKeeperWatcher();
+    try {
+      ReplicationChecker checker = new ReplicationChecker(getConf(), zkw, 
connection, errors);
+      checker.checkUnDeletedQueues();
 
-    if (checker.hasUnDeletedQueues() && this.fixReplication) {
-      checker.fixUnDeletedQueues();
-      setShouldRerun();
+      if (checker.hasUnDeletedQueues() && this.fixReplication) {
+        checker.fixUnDeletedQueues();
+        setShouldRerun();
+      }
+    } finally {
+      zkw.close();
     }
   }
 
@@ -3247,41 +3267,47 @@ public class HBaseFsck extends Configured implements 
Closeable {
    */
   private void checkAndFixOrphanedTableZNodes()
       throws IOException, KeeperException, InterruptedException {
-    Set<TableName> enablingTables = 
ZKTableStateClientSideReader.getEnablingTables(zkw);
-    String msg;
-    TableInfo tableInfo;
-
-    for (TableName tableName : enablingTables) {
-      // Check whether the table exists in hbase
-      tableInfo = tablesInfo.get(tableName);
-      if (tableInfo != null) {
-        // Table exists.  This table state is in transit.  No problem for this 
table.
-        continue;
-      }
+    ZooKeeperWatcher zkw = createZooKeeperWatcher();
 
-      msg = "Table " + tableName + " not found in hbase:meta. Orphaned table 
ZNode found.";
-      LOG.warn(msg);
-      orphanedTableZNodes.add(tableName);
-      errors.reportError(ERROR_CODE.ORPHANED_ZK_TABLE_ENTRY, msg);
-    }
+    try {
+      Set<TableName> enablingTables = 
ZKTableStateClientSideReader.getEnablingTables(zkw);
+      String msg;
+      TableInfo tableInfo;
+
+      for (TableName tableName : enablingTables) {
+        // Check whether the table exists in hbase
+        tableInfo = tablesInfo.get(tableName);
+        if (tableInfo != null) {
+          // Table exists.  This table state is in transit.  No problem for 
this table.
+          continue;
+        }
+
+        msg = "Table " + tableName + " not found in hbase:meta. Orphaned table 
ZNode found.";
+        LOG.warn(msg);
+        orphanedTableZNodes.add(tableName);
+        errors.reportError(ERROR_CODE.ORPHANED_ZK_TABLE_ENTRY, msg);
+      }
 
-    if (orphanedTableZNodes.size() > 0 && this.fixTableZNodes) {
-      ZKTableStateManager zkTableStateMgr = new ZKTableStateManager(zkw);
+      if (orphanedTableZNodes.size() > 0 && this.fixTableZNodes) {
+        ZKTableStateManager zkTableStateMgr = new ZKTableStateManager(zkw);
 
-      for (TableName tableName : orphanedTableZNodes) {
-        try {
-          // Set the table state to be disabled so that if we made mistake, we 
can trace
-          // the history and figure it out.
-          // Another choice is to call checkAndRemoveTableState() to delete 
the orphaned ZNode.
-          // Both approaches works.
-          zkTableStateMgr.setTableState(tableName, 
ZooKeeperProtos.Table.State.DISABLED);
-        } catch (CoordinatedStateException e) {
-          // This exception should not happen here
-          LOG.error(
-            "Got a CoordinatedStateException while fixing the ENABLING table 
znode " + tableName,
-            e);
+        for (TableName tableName : orphanedTableZNodes) {
+          try {
+            // Set the table state to be disabled so that if we made mistake, 
we can trace
+            // the history and figure it out.
+            // Another choice is to call checkAndRemoveTableState() to delete 
the orphaned ZNode.
+            // Both approaches works.
+            zkTableStateMgr.setTableState(tableName, 
ZooKeeperProtos.Table.State.DISABLED);
+          } catch (CoordinatedStateException e) {
+            // This exception should not happen here
+            LOG.error(
+              "Got a CoordinatedStateException while fixing the ENABLING table 
znode " + tableName,
+              e);
+          }
         }
       }
+    } finally {
+      zkw.close();
     }
   }
 
@@ -3351,7 +3377,12 @@ public class HBaseFsck extends Configured implements 
Closeable {
   private void unassignMetaReplica(HbckInfo hi) throws IOException, 
InterruptedException,
   KeeperException {
     undeployRegions(hi);
-    ZKUtil.deleteNode(zkw, 
zkw.getZNodeForReplica(hi.metaEntry.getReplicaId()));
+    ZooKeeperWatcher zkw = createZooKeeperWatcher();
+    try {
+      ZKUtil.deleteNode(zkw, 
zkw.getZNodeForReplica(hi.metaEntry.getReplicaId()));
+    } finally {
+      zkw.close();
+    }
   }
 
   private void assignMetaReplica(int replicaId)
@@ -4230,12 +4261,7 @@ public class HBaseFsck extends Configured implements 
Closeable {
    * Disable the split and merge
    */
   public static void setDisableSplitAndMerge() {
-    setDisableSplitAndMerge(true);
-  }
-
-  @VisibleForTesting
-  public static void setDisableSplitAndMerge(boolean flag) {
-    disableSplitAndMerge = flag;
+    disableSplitAndMerge = true;
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/ce651f5c/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/SplitOrMergeTracker.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/SplitOrMergeTracker.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/SplitOrMergeTracker.java
index e548245..0d729a1 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/SplitOrMergeTracker.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/SplitOrMergeTracker.java
@@ -18,8 +18,6 @@
 package org.apache.hadoop.hbase.zookeeper;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Abortable;
@@ -27,7 +25,6 @@ import 
org.apache.hadoop.hbase.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.client.Admin;
 import org.apache.hadoop.hbase.exceptions.DeserializationException;
 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
-import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos;
 import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SwitchState;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.zookeeper.KeeperException;
@@ -40,13 +37,8 @@ import org.apache.zookeeper.KeeperException;
 @InterfaceAudience.Private
 public class SplitOrMergeTracker {
 
-  public static final String LOCK = "splitOrMergeLock";
-  public static final String STATE = "splitOrMergeState";
-
   private String splitZnode;
   private String mergeZnode;
-  private String splitOrMergeLock;
-  private ZooKeeperWatcher watcher;
 
   private SwitchStateTracker splitStateTracker;
   private SwitchStateTracker mergeStateTracker;
@@ -57,9 +49,6 @@ public class SplitOrMergeTracker {
       if (ZKUtil.checkExists(watcher, watcher.getSwitchZNode()) < 0) {
         ZKUtil.createAndFailSilent(watcher, watcher.getSwitchZNode());
       }
-      if (ZKUtil.checkExists(watcher, watcher.getSwitchLockZNode()) < 0) {
-        ZKUtil.createAndFailSilent(watcher, watcher.getSwitchLockZNode());
-      }
     } catch (KeeperException e) {
       throw new RuntimeException(e);
     }
@@ -67,12 +56,8 @@ public class SplitOrMergeTracker {
       conf.get("zookeeper.znode.switch.split", "split"));
     mergeZnode = ZKUtil.joinZNode(watcher.getSwitchZNode(),
       conf.get("zookeeper.znode.switch.merge", "merge"));
-
-    splitOrMergeLock = ZKUtil.joinZNode(watcher.getSwitchLockZNode(), LOCK);
-
     splitStateTracker = new SwitchStateTracker(watcher, splitZnode, abortable);
     mergeStateTracker = new SwitchStateTracker(watcher, mergeZnode, abortable);
-    this.watcher = watcher;
   }
 
   public void start() {
@@ -106,76 +91,6 @@ public class SplitOrMergeTracker {
     }
   }
 
-  /**
-   *  rollback the original state and delete lock node.
-   * */
-  public void releaseLockAndRollback()
-    throws KeeperException, DeserializationException, InterruptedException {
-    if (ZKUtil.checkExists(watcher, splitOrMergeLock) != -1) {
-      List<ZKUtil.ZKUtilOp> ops = new ArrayList<>();
-      rollback(ops);
-      ops.add(ZKUtil.ZKUtilOp.deleteNodeFailSilent(splitOrMergeLock));
-      ZKUtil.multiOrSequential(watcher, ops, false);
-    }
-  }
-
-  // If there is old states of switch on zk, do rollback
-  private void rollback(List<ZKUtil.ZKUtilOp> ops) throws KeeperException, 
InterruptedException, DeserializationException {
-    String splitOrMergeState = ZKUtil.joinZNode(watcher.getSwitchLockZNode(),
-      SplitOrMergeTracker.STATE);
-    if (ZKUtil.checkExists(watcher, splitOrMergeState) != -1) {
-      byte[] bytes = ZKUtil.getData(watcher, splitOrMergeState);
-      ProtobufUtil.expectPBMagicPrefix(bytes);
-      ZooKeeperProtos.SplitAndMergeState.Builder builder =
-        ZooKeeperProtos.SplitAndMergeState.newBuilder();
-      try {
-        int magicLen = ProtobufUtil.lengthOfPBMagic();
-        ProtobufUtil.mergeFrom(builder, bytes, magicLen, bytes.length - 
magicLen);
-      } catch (IOException e) {
-        throw new DeserializationException(e);
-      }
-      ZooKeeperProtos.SplitAndMergeState splitAndMergeState =  builder.build();
-      splitStateTracker.setSwitchEnabled(splitAndMergeState.hasSplitEnabled());
-      mergeStateTracker.setSwitchEnabled(splitAndMergeState.hasMergeEnabled());
-      ops.add(ZKUtil.ZKUtilOp.deleteNodeFailSilent(splitOrMergeState));
-    }
-  }
-
-  /**
-   *  If there is no lock, you could acquire the lock.
-   *  After we create lock on zk, we save original splitOrMerge switches on zk.
-   *  @param skipLock if true, it means we will skip the lock action
-   *                  but we still need to check whether the lock exists or 
not.
-   *  @return true, lock successfully.  otherwise, false
-   * */
-  public boolean lock(boolean skipLock) throws KeeperException {
-    if (ZKUtil.checkExists(watcher, splitOrMergeLock) != -1) {
-      return false;
-    }
-    if (skipLock) {
-      return true;
-    }
-    ZKUtil.createAndFailSilent(watcher,  splitOrMergeLock);
-    if (ZKUtil.checkExists(watcher, splitOrMergeLock) != -1) {
-      saveOriginalState();
-      return true;
-    }
-    return false;
-  }
-
-  private void saveOriginalState() throws KeeperException {
-    boolean splitEnabled = isSplitOrMergeEnabled(Admin.MasterSwitchType.SPLIT);
-    boolean mergeEnabled = isSplitOrMergeEnabled(Admin.MasterSwitchType.MERGE);
-    String splitOrMergeStates = ZKUtil.joinZNode(watcher.getSwitchLockZNode(),
-      SplitOrMergeTracker.STATE);
-    ZooKeeperProtos.SplitAndMergeState.Builder builder
-      = ZooKeeperProtos.SplitAndMergeState.newBuilder();
-    builder.setSplitEnabled(splitEnabled);
-    builder.setMergeEnabled(mergeEnabled);
-    ZKUtil.createSetData(watcher,  splitOrMergeStates,
-      ProtobufUtil.prependPBMagic(builder.build().toByteArray()));
-  }
-
   private static class SwitchStateTracker extends ZooKeeperNodeTracker {
 
     public SwitchStateTracker(ZooKeeperWatcher watcher, String node, Abortable 
abortable) {

http://git-wip-us.apache.org/repos/asf/hbase/blob/ce651f5c/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSplitOrMergeStatus.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSplitOrMergeStatus.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSplitOrMergeStatus.java
index f8b2877..477be1e 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSplitOrMergeStatus.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSplitOrMergeStatus.java
@@ -41,7 +41,6 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 @Category({MediumTests.class, ClientTests.class})
 public class TestSplitOrMergeStatus {
@@ -78,15 +77,14 @@ public class TestSplitOrMergeStatus {
 
     Admin admin = TEST_UTIL.getHBaseAdmin();
     initSwitchStatus(admin);
-    boolean[] results = admin.setSplitOrMergeEnabled(false, false,
-      true, Admin.MasterSwitchType.SPLIT);
+    boolean[] results = admin.setSplitOrMergeEnabled(false, false, 
Admin.MasterSwitchType.SPLIT);
     assertEquals(results.length, 1);
     assertTrue(results[0]);
     admin.split(t.getName());
     int count = waitOnSplitOrMerge(t).size();
     assertTrue(orignalCount == count);
 
-    results = admin.setSplitOrMergeEnabled(true, false, true, 
Admin.MasterSwitchType.SPLIT);
+    results = admin.setSplitOrMergeEnabled(true, false, 
Admin.MasterSwitchType.SPLIT);
     assertEquals(results.length, 1);
     assertFalse(results[0]);
     admin.split(t.getName());
@@ -111,8 +109,7 @@ public class TestSplitOrMergeStatus {
 
     waitForMergable(admin, name);
     int orignalCount = locator.getAllRegionLocations().size();
-    boolean[] results = admin.setSplitOrMergeEnabled(false, false,
-      true, Admin.MasterSwitchType.MERGE);
+    boolean[] results = admin.setSplitOrMergeEnabled(false, false, 
Admin.MasterSwitchType.MERGE);
     assertEquals(results.length, 1);
     assertTrue(results[0]);
     List<HRegionInfo> regions = admin.getTableRegions(t.getName());
@@ -123,7 +120,7 @@ public class TestSplitOrMergeStatus {
     assertTrue(orignalCount == count);
 
     waitForMergable(admin, name);
-    results = admin.setSplitOrMergeEnabled(true, false, true, 
Admin.MasterSwitchType.MERGE);
+    results = admin.setSplitOrMergeEnabled(true, false, 
Admin.MasterSwitchType.MERGE);
     assertEquals(results.length, 1);
     assertFalse(results[0]);
     admin.mergeRegions(regions.get(0).getEncodedNameAsBytes(),
@@ -136,7 +133,7 @@ public class TestSplitOrMergeStatus {
   @Test
   public void testMultiSwitches() throws IOException {
     Admin admin = TEST_UTIL.getHBaseAdmin();
-    boolean[] switches = admin.setSplitOrMergeEnabled(false, false, true,
+    boolean[] switches = admin.setSplitOrMergeEnabled(false, false,
       Admin.MasterSwitchType.SPLIT, Admin.MasterSwitchType.MERGE);
     for (boolean s : switches){
       assertTrue(s);
@@ -146,34 +143,12 @@ public class TestSplitOrMergeStatus {
     admin.close();
   }
 
-  @Test
-  public void testSwitchLock() throws IOException {
-    Admin admin = TEST_UTIL.getHBaseAdmin();
-    admin.setSplitOrMergeEnabled(false, false, false,
-      Admin.MasterSwitchType.SPLIT, Admin.MasterSwitchType.MERGE);
-    try {
-      admin.setSplitOrMergeEnabled(false, false, true,
-        Admin.MasterSwitchType.SPLIT, Admin.MasterSwitchType.MERGE);
-      fail();
-    } catch (IOException e) {
-      LOG.info("", e);
-    }
-    admin.releaseSplitOrMergeLockAndRollback();
-    try {
-      admin.setSplitOrMergeEnabled(true, false, true,
-        Admin.MasterSwitchType.SPLIT, Admin.MasterSwitchType.MERGE);
-    } catch (IOException e) {
-      fail();
-    }
-    admin.close();
-  }
-  
   private void initSwitchStatus(Admin admin) throws IOException {
     if (!admin.isSplitOrMergeEnabled(Admin.MasterSwitchType.SPLIT)) {
-      admin.setSplitOrMergeEnabled(true, false, true, 
Admin.MasterSwitchType.SPLIT);
+      admin.setSplitOrMergeEnabled(true, false, Admin.MasterSwitchType.SPLIT);
     }
     if (!admin.isSplitOrMergeEnabled(Admin.MasterSwitchType.MERGE)) {
-      admin.setSplitOrMergeEnabled(true, false, true, 
Admin.MasterSwitchType.MERGE);
+      admin.setSplitOrMergeEnabled(true, false, Admin.MasterSwitchType.MERGE);
     }
     assertTrue(admin.isSplitOrMergeEnabled(Admin.MasterSwitchType.SPLIT));
     assertTrue(admin.isSplitOrMergeEnabled(Admin.MasterSwitchType.MERGE));

http://git-wip-us.apache.org/repos/asf/hbase/blob/ce651f5c/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
index eafbeea..f2171fb 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
@@ -37,6 +37,8 @@ import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Random;
+import java.util.Map.Entry;
 import java.util.NavigableMap;
 import java.util.Set;
 import java.util.concurrent.Callable;
@@ -82,10 +84,12 @@ import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.HConnection;
 import org.apache.hadoop.hbase.client.HTable;
 import org.apache.hadoop.hbase.client.MetaScanner;
+import org.apache.hadoop.hbase.client.Mutation;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.client.RegionReplicaUtil;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.ResultScanner;
+import org.apache.hadoop.hbase.client.RowMutations;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.client.Table;
 import org.apache.hadoop.hbase.client.replication.ReplicationAdmin;
@@ -110,6 +114,7 @@ import 
org.apache.hadoop.hbase.regionserver.SplitTransactionImpl;
 import org.apache.hadoop.hbase.regionserver.TestEndToEndSplitTransaction;
 import org.apache.hadoop.hbase.replication.ReplicationFactory;
 import org.apache.hadoop.hbase.replication.ReplicationQueues;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter;
 import org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter.ERROR_CODE;
 import org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo;
@@ -131,10 +136,6 @@ import org.junit.experimental.categories.Category;
 import org.junit.rules.TestName;
 
 import com.google.common.collect.Multimap;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.spy;
 
 /**
  * This tests HBaseFsck's ability to detect reasons for inconsistent tables.
@@ -2862,56 +2863,6 @@ public class TestHBaseFsck {
   }
 
 
-  /**
-  *  See HBASE-15406
-  * */
-  @Test
-  public void testSplitOrMergeStatWhenHBCKAbort() throws Exception {
-    admin.setSplitOrMergeEnabled(true, false, true,
-        Admin.MasterSwitchType.SPLIT, Admin.MasterSwitchType.MERGE);
-    boolean oldSplit = 
admin.isSplitOrMergeEnabled(Admin.MasterSwitchType.SPLIT);
-    boolean oldMerge = 
admin.isSplitOrMergeEnabled(Admin.MasterSwitchType.MERGE);
-
-    assertTrue(oldSplit);
-    assertTrue(oldMerge);
-
-    ExecutorService exec = new ScheduledThreadPoolExecutor(10);
-    HBaseFsck hbck = new HBaseFsck(conf, exec);
-    HBaseFsck.setDisplayFullReport(); // i.e. -details
-    final HBaseFsck spiedHbck = spy(hbck);
-    doAnswer(new Answer() {
-        @Override
-        public Object answer(InvocationOnMock invocation) throws Throwable {
-            // we close splitOrMerge flag in hbck, so in finally hbck will not 
set splitOrMerge back.
-              spiedHbck.setDisableSplitAndMerge(false);
-            return null;
-          }
-      }).when(spiedHbck).onlineConsistencyRepair();
-    spiedHbck.setDisableSplitAndMerge();
-    spiedHbck.connect();
-    spiedHbck.onlineHbck();
-    spiedHbck.close();
-
-    boolean split = admin.isSplitOrMergeEnabled(Admin.MasterSwitchType.SPLIT);
-    boolean merge = admin.isSplitOrMergeEnabled(Admin.MasterSwitchType.MERGE);
-    assertFalse(split);
-    assertFalse(merge);
-
-    // rerun hbck to repair the switches state
-    hbck = new HBaseFsck(conf, exec);
-    hbck.setDisableSplitAndMerge();
-    hbck.connect();
-    hbck.onlineHbck();
-    hbck.close();
-
-    split = admin.isSplitOrMergeEnabled(Admin.MasterSwitchType.SPLIT);
-    merge = admin.isSplitOrMergeEnabled(Admin.MasterSwitchType.MERGE);
-
-    assertTrue(split);
-    assertTrue(merge);
-  }
-
-
   public static class MasterSyncObserver extends BaseMasterObserver {
     volatile CountDownLatch tableCreationLatch = null;
     volatile CountDownLatch tableDeletionLatch = null;

http://git-wip-us.apache.org/repos/asf/hbase/blob/ce651f5c/hbase-shell/src/main/ruby/hbase/admin.rb
----------------------------------------------------------------------
diff --git a/hbase-shell/src/main/ruby/hbase/admin.rb 
b/hbase-shell/src/main/ruby/hbase/admin.rb
index 8db0f2f..50d1e7d 100644
--- a/hbase-shell/src/main/ruby/hbase/admin.rb
+++ b/hbase-shell/src/main/ruby/hbase/admin.rb
@@ -119,7 +119,7 @@ module Hbase
       end
       @admin.setSplitOrMergeEnabled(
         java.lang.Boolean.valueOf(enabled), java.lang.Boolean.valueOf(false),
-        java.lang.Boolean.valueOf(true), switch_type)[0]
+        switch_type)[0]
     end
 
     
#----------------------------------------------------------------------------------------------

Reply via email to