You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by sy...@apache.org on 2016/07/23 03:09:18 UTC

[3/3] hbase git commit: Revert HBASE-15406: Split / merge switch left disabled after early termination of hbck (HBASE-16008 will address this issue)

Revert HBASE-15406: Split / merge switch left disabled after early termination of hbck (HBASE-16008 will address this issue)


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

Branch: refs/heads/master
Commit: cd0b85e0a814821489ddbe9053a8fc222da55609
Parents: 744248c
Author: Stephen Yuan Jiang <sy...@gmail.com>
Authored: Fri Jul 22 20:09:03 2016 -0700
Committer: Stephen Yuan Jiang <sy...@gmail.com>
Committed: Fri Jul 22 20:09:03 2016 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/client/Admin.java   |   13 -
 .../hbase/client/ConnectionImplementation.java  |    7 -
 .../apache/hadoop/hbase/client/HBaseAdmin.java  |   18 +-
 .../hadoop/hbase/protobuf/RequestConverter.java |   11 +-
 .../hbase/zookeeper/ZooKeeperWatcher.java       |   10 -
 .../hbase/protobuf/generated/MasterProtos.java  | 1903 +++++-------------
 .../protobuf/generated/ZooKeeperProtos.java     |  552 +----
 hbase-protocol/src/main/protobuf/Master.proto   |   13 -
 .../src/main/protobuf/ZooKeeper.proto           |    8 -
 .../hadoop/hbase/master/MasterRpcServices.java  |   23 -
 .../org/apache/hadoop/hbase/util/HBaseFsck.java |   21 +-
 .../hbase/zookeeper/SplitOrMergeTracker.java    |   85 -
 .../hbase/client/TestSplitOrMergeStatus.java    |   40 +-
 .../hadoop/hbase/util/TestHBaseFsckOneRS.java   |   54 -
 hbase-shell/src/main/ruby/hbase/admin.rb        |    2 +-
 15 files changed, 540 insertions(+), 2220 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/cd0b85e0/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
index 34e0a89..df79dcf 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
@@ -1729,15 +1729,10 @@ public interface Admin extends Abortable, Closeable {
    *
    * @param enabled enabled or not
    * @param synchronous If true, it waits until current split() call, if outstanding, to return.
-   * @param skipLock if false, we will do lock before change switch.
-   *                 with the lock, other requests to change the switch will be rejected!
-   *                 And when you set it to be false,
-   *                 you should call {@link #releaseSplitOrMergeLockAndRollback()} by yourself
    * @param switchTypes switchType list {@link MasterSwitchType}
    * @return Previous switch value array
    */
   boolean[] setSplitOrMergeEnabled(final boolean enabled, final boolean synchronous,
-                                   final boolean skipLock,
                                    final MasterSwitchType... switchTypes) throws IOException;
 
   /**
@@ -1746,12 +1741,4 @@ public interface Admin extends Abortable, Closeable {
    * @return true if the switch is enabled, false otherwise.
    */
   boolean isSplitOrMergeEnabled(final MasterSwitchType switchType) throws IOException;
-
-  /**
-   *  You should call this method after you call
-   *  {@link #setSplitOrMergeEnabled(boolean, boolean, boolean, MasterSwitchType...)}
-   *  with skipLock be false, this method will release the lock created by above method
-   *  and rollback the switch state to be original state before you change switch
-   * */
-  void releaseSplitOrMergeLockAndRollback() throws IOException;
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/cd0b85e0/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
index 1fe29c8..9b913c8 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
@@ -1664,13 +1664,6 @@ class ConnectionImplementation implements ClusterConnection, Closeable {
       }
 
       @Override
-      public MasterProtos.ReleaseSplitOrMergeLockAndRollbackResponse
-        releaseSplitOrMergeLockAndRollback(RpcController controller,
-        MasterProtos.ReleaseSplitOrMergeLockAndRollbackRequest request) throws ServiceException {
-        return stub.releaseSplitOrMergeLockAndRollback(controller, request);
-      }
-
-      @Override
       public IsNormalizerEnabledResponse isNormalizerEnabled(RpcController controller,
           IsNormalizerEnabledRequest request) throws ServiceException {
         return stub.isNormalizerEnabled(controller, request);

http://git-wip-us.apache.org/repos/asf/hbase/blob/cd0b85e0/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
index ac98bdb..074fe7f 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
@@ -3704,13 +3704,13 @@ public class HBaseAdmin implements Admin {
 
   @Override
   public boolean[] setSplitOrMergeEnabled(final boolean enabled, final boolean synchronous,
-    final boolean skipLock, final MasterSwitchType... switchTypes) throws IOException {
+                                          final MasterSwitchType... switchTypes)
+    throws IOException {
     return executeCallable(new MasterCallable<boolean[]>(getConnection()) {
       @Override
       public boolean[] call(int callTimeout) throws ServiceException {
         MasterProtos.SetSplitOrMergeEnabledResponse response = master.setSplitOrMergeEnabled(null,
-          RequestConverter.buildSetSplitOrMergeEnabledRequest(enabled, synchronous,
-            skipLock, switchTypes));
+          RequestConverter.buildSetSplitOrMergeEnabledRequest(enabled, synchronous, switchTypes));
         boolean[] result = new boolean[switchTypes.length];
         int i = 0;
         for (Boolean prevValue : response.getPrevValueList()) {
@@ -3732,18 +3732,6 @@ public class HBaseAdmin implements Admin {
     });
   }
 
-  @Override
-  public void releaseSplitOrMergeLockAndRollback() throws IOException {
-    executeCallable(new MasterCallable<Void>(getConnection()) {
-      @Override
-      public Void call(int callTimeout) throws ServiceException {
-        master.releaseSplitOrMergeLockAndRollback(null,
-          RequestConverter.buildReleaseSplitOrMergeLockAndRollbackRequest());
-        return null;
-      }
-    });
-  }
-
   private HRegionInfo getMobRegionInfo(TableName tableName) {
     return new HRegionInfo(tableName, Bytes.toBytes(".mob"),
             HConstants.EMPTY_END_ROW, false, 0);

http://git-wip-us.apache.org/repos/asf/hbase/blob/cd0b85e0/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
index 5fe2016..b75d2b8 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
@@ -103,7 +103,6 @@ import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.ModifyTableReques
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.MoveRegionRequest;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.NormalizeRequest;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.OfflineRegionRequest;
-import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.ReleaseSplitOrMergeLockAndRollbackRequest;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.RunCatalogScanRequest;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.SetBalancerRunningRequest;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.SetNormalizerRunningRequest;
@@ -1739,13 +1738,6 @@ public final class RequestConverter {
     return builder.build();
   }
 
-  public static ReleaseSplitOrMergeLockAndRollbackRequest
-    buildReleaseSplitOrMergeLockAndRollbackRequest() {
-    ReleaseSplitOrMergeLockAndRollbackRequest.Builder builder =
-      ReleaseSplitOrMergeLockAndRollbackRequest.newBuilder();
-    return builder.build();
-  }
-
   /**
    * Creates a protocol buffer SetSplitOrMergeEnabledRequest
    *
@@ -1756,11 +1748,10 @@ public final class RequestConverter {
    * @return a SetSplitOrMergeEnabledRequest
    */
   public static SetSplitOrMergeEnabledRequest buildSetSplitOrMergeEnabledRequest(boolean enabled,
-    boolean synchronous, boolean skipLock, MasterSwitchType... switchTypes) {
+    boolean synchronous, MasterSwitchType... switchTypes) {
     SetSplitOrMergeEnabledRequest.Builder builder = SetSplitOrMergeEnabledRequest.newBuilder();
     builder.setEnabled(enabled);
     builder.setSynchronous(synchronous);
-    builder.setSkipLock(skipLock);
     for (MasterSwitchType switchType : switchTypes) {
       builder.addSwitchTypes(convert(switchType));
     }

http://git-wip-us.apache.org/repos/asf/hbase/blob/cd0b85e0/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java
index ff3d1c7..7cbfc98 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java
@@ -117,8 +117,6 @@ public class ZooKeeperWatcher implements Watcher, Abortable, Closeable {
   private String regionNormalizerZNode;
   // znode containing the state of all switches, currently there are split and merge child node.
   private String switchZNode;
-  // znode containing the lock for the switches
-  private String switchLockZNode;
   // znode containing the lock for the tables
   public String tableLockZNode;
   // znode containing the state of recovering regions
@@ -438,7 +436,6 @@ public class ZooKeeperWatcher implements Watcher, Abortable, Closeable {
     regionNormalizerZNode = ZKUtil.joinZNode(baseZNode,
       conf.get("zookeeper.znode.regionNormalizer", "normalizer"));
     switchZNode = ZKUtil.joinZNode(baseZNode, conf.get("zookeeper.znode.switch", "switch"));
-    switchLockZNode = ZKUtil.joinZNode(switchZNode, "locks");
     tableLockZNode = ZKUtil.joinZNode(baseZNode,
         conf.get("zookeeper.znode.tableLock", "table-lock"));
     recoveringRegionsZNode = ZKUtil.joinZNode(baseZNode,
@@ -782,11 +779,4 @@ public class ZooKeeperWatcher implements Watcher, Abortable, Closeable {
   public String getSwitchZNode() {
     return switchZNode;
   }
-
-  /**
-   *  @return ZK node for switchLock node.
-   * */
-  public String getSwitchLockZNode() {
-    return switchLockZNode;
-  }
 }