You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by bu...@apache.org on 2020/09/16 03:05:29 UTC
[hbase] branch master updated: HBASE-24875 Remove the force param
for unassign since it dose not take effect any more (#2254)
This is an automated email from the ASF dual-hosted git repository.
busbey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new c5ca191 HBASE-24875 Remove the force param for unassign since it dose not take effect any more (#2254)
c5ca191 is described below
commit c5ca191921cad9100fb47aa57348571b3ddc06ad
Author: bsglz <18...@qq.com>
AuthorDate: Wed Sep 16 11:05:03 2020 +0800
HBASE-24875 Remove the force param for unassign since it dose not take effect any more (#2254)
Signed-off-by: Sean Busbey <bu...@apache.org>
---
.../main/java/org/apache/hadoop/hbase/client/Admin.java | 16 ++++++++++++++--
.../apache/hadoop/hbase/client/AdminOverAsyncAdmin.java | 4 ++--
.../java/org/apache/hadoop/hbase/client/AsyncAdmin.java | 13 ++++++++++++-
.../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.java | 4 ++--
.../apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java | 4 ++--
.../hadoop/hbase/shaded/protobuf/RequestConverter.java | 4 +---
.../src/main/protobuf/server/master/Master.proto | 1 +
.../main/protobuf/server/master/MasterProcedure.proto | 1 +
.../apache/hadoop/hbase/coprocessor/MasterObserver.java | 10 ++++------
.../hadoop/hbase/master/MasterCoprocessorHost.java | 9 ++++-----
.../apache/hadoop/hbase/master/MasterRpcServices.java | 7 +++----
.../hbase/master/assignment/UnassignProcedure.java | 6 ------
.../hadoop/hbase/security/access/AccessController.java | 4 ++--
.../hadoop/hbase/coprocessor/TestMasterObserver.java | 4 ++--
.../hadoop/hbase/rsgroup/VerifyingRSGroupAdmin.java | 4 ++--
.../hbase/security/access/TestAccessController.java | 2 +-
.../security/access/TestWithDisabledAuthorization.java | 3 +--
hbase-shell/src/main/ruby/hbase/admin.rb | 5 +++--
hbase-shell/src/main/ruby/shell/commands/unassign.rb | 10 +++-------
.../apache/hadoop/hbase/thrift2/client/ThriftAdmin.java | 3 +--
20 files changed, 61 insertions(+), 53 deletions(-)
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 f4fd14a..9a8311a 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
@@ -776,6 +776,13 @@ public interface Admin extends Abortable, Closeable {
void assign(byte[] regionName) throws IOException;
/**
+ * Unassign a Region.
+ * @param regionName Region name to assign.
+ * @throws IOException if a remote or network exception occurs
+ */
+ void unassign(byte[] regionName) throws IOException;
+
+ /**
* Unassign a region from current hosting regionserver. Region will then be assigned to a
* regionserver chosen at random. Region could be reassigned back to the same server. Use {@link
* #move(byte[], ServerName)} if you want to control the region movement.
@@ -784,9 +791,14 @@ public interface Admin extends Abortable, Closeable {
* @param force If <code>true</code>, force unassign (Will remove region from regions-in-transition too if
* present. If results in double assignment use hbck -fix to resolve. To be used by experts).
* @throws IOException if a remote or network exception occurs
+ * @deprecated since 2.4.0 and will be removed in 4.0.0. Use {@link #unassign(byte[])}
+ * instead.
+ * @see <a href="https://issues.apache.org/jira/browse/HBASE-24875">HBASE-24875</a>
*/
- void unassign(byte[] regionName, boolean force)
- throws IOException;
+ @Deprecated
+ default void unassign(byte[] regionName, boolean force) throws IOException {
+ unassign(regionName);
+ }
/**
* Offline specified region from master's in-memory state. It will not attempt to reassign the
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AdminOverAsyncAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AdminOverAsyncAdmin.java
index 1b7a24b..bfd3af4 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AdminOverAsyncAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AdminOverAsyncAdmin.java
@@ -360,8 +360,8 @@ class AdminOverAsyncAdmin implements Admin {
}
@Override
- public void unassign(byte[] regionName, boolean force) throws IOException {
- get(admin.unassign(regionName, force));
+ public void unassign(byte[] regionName) throws IOException {
+ get(admin.unassign(regionName));
}
@Override
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncAdmin.java
index 8c877e9..d36e654 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncAdmin.java
@@ -583,6 +583,11 @@ public interface AsyncAdmin {
CompletableFuture<Void> assign(byte[] regionName);
/**
+ * @param regionName Encoded or full name of region to unassign.
+ */
+ CompletableFuture<Void> unassign(byte[] regionName);
+
+ /**
* Unassign a region from current hosting regionserver. Region will then be assigned to a
* regionserver chosen at random. Region could be reassigned back to the same server. Use
* {@link #move(byte[], ServerName)} if you want to control the region movement.
@@ -591,8 +596,14 @@ public interface AsyncAdmin {
* @param forcible If true, force unassign (Will remove region from regions-in-transition too if
* present. If results in double assignment use hbck -fix to resolve. To be used by
* experts).
+ * @deprecated since 2.4.0 and will be removed in 4.0.0. Use {@link #unassign(byte[])}
+ * instead.
+ * @see <a href="https://issues.apache.org/jira/browse/HBASE-24875">HBASE-24875</a>
*/
- CompletableFuture<Void> unassign(byte[] regionName, boolean forcible);
+ @Deprecated
+ default CompletableFuture<Void> unassign(byte[] regionName, boolean forcible) {
+ return unassign(regionName);
+ }
/**
* Offline specified region from master's in-memory state. It will not attempt to reassign the
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.java
index 2301d4a..6d868f2 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.java
@@ -367,8 +367,8 @@ class AsyncHBaseAdmin implements AsyncAdmin {
}
@Override
- public CompletableFuture<Void> unassign(byte[] regionName, boolean forcible) {
- return wrap(rawAdmin.unassign(regionName, forcible));
+ public CompletableFuture<Void> unassign(byte[] regionName) {
+ return wrap(rawAdmin.unassign(regionName));
}
@Override
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
index d740a3a..f2c58c7 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
@@ -1553,7 +1553,7 @@ class RawAsyncHBaseAdmin implements AsyncAdmin {
}
@Override
- public CompletableFuture<Void> unassign(byte[] regionName, boolean forcible) {
+ public CompletableFuture<Void> unassign(byte[] regionName) {
CompletableFuture<Void> future = new CompletableFuture<>();
addListener(getRegionInfo(regionName), (regionInfo, err) -> {
if (err != null) {
@@ -1564,7 +1564,7 @@ class RawAsyncHBaseAdmin implements AsyncAdmin {
this.<Void> newMasterCaller().priority(regionInfo.getTable())
.action(((controller, stub) -> this
.<UnassignRegionRequest, UnassignRegionResponse, Void> call(controller, stub,
- RequestConverter.buildUnassignRegionRequest(regionInfo.getRegionName(), forcible),
+ RequestConverter.buildUnassignRegionRequest(regionInfo.getRegionName()),
(s, c, req, done) -> s.unassignRegion(c, req, done), resp -> null)))
.call(),
(ret, err2) -> {
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
index b06a507..b9baebe 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
@@ -1104,14 +1104,12 @@ public final class RequestConverter {
* Creates a protocol buffer UnassignRegionRequest
*
* @param regionName
- * @param force
* @return an UnassignRegionRequest
*/
public static UnassignRegionRequest buildUnassignRegionRequest(
- final byte [] regionName, final boolean force) {
+ final byte [] regionName) {
UnassignRegionRequest.Builder builder = UnassignRegionRequest.newBuilder();
builder.setRegion(buildRegionSpecifier(RegionSpecifierType.REGION_NAME,regionName));
- builder.setForce(force);
return builder.build();
}
diff --git a/hbase-protocol-shaded/src/main/protobuf/server/master/Master.proto b/hbase-protocol-shaded/src/main/protobuf/server/master/Master.proto
index 58ab01d..94ada38 100644
--- a/hbase-protocol-shaded/src/main/protobuf/server/master/Master.proto
+++ b/hbase-protocol-shaded/src/main/protobuf/server/master/Master.proto
@@ -109,6 +109,7 @@ message AssignRegionResponse {
message UnassignRegionRequest {
required RegionSpecifier region = 1;
+ // This parameter is ignored
optional bool force = 2 [default = false];
}
diff --git a/hbase-protocol-shaded/src/main/protobuf/server/master/MasterProcedure.proto b/hbase-protocol-shaded/src/main/protobuf/server/master/MasterProcedure.proto
index b51b529..b18de27 100644
--- a/hbase-protocol-shaded/src/main/protobuf/server/master/MasterProcedure.proto
+++ b/hbase-protocol-shaded/src/main/protobuf/server/master/MasterProcedure.proto
@@ -346,6 +346,7 @@ message UnassignRegionStateData {
// This is the server currently hosting the Region, the
// server we will send the unassign rpc too.
optional ServerName hosting_server = 5;
+ // This parameter is ignored
optional bool force = 4 [default = false];
optional bool remove_after_unassigning = 6 [default = false];
// Current attempt index used for expotential backoff when stuck
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
index ffe4f53..ac35caa 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
@@ -508,19 +508,17 @@ public interface MasterObserver {
* Called prior to unassigning a given region.
* @param ctx the environment to interact with the framework and master
* @param regionInfo
- * @param force whether to force unassignment or not
*/
default void preUnassign(final ObserverContext<MasterCoprocessorEnvironment> ctx,
- final RegionInfo regionInfo, final boolean force) throws IOException {}
+ final RegionInfo regionInfo) throws IOException {}
/**
* Called after the region unassignment has been requested.
* @param ctx the environment to interact with the framework and master
* @param regionInfo
- * @param force whether to force unassignment or not
*/
default void postUnassign(final ObserverContext<MasterCoprocessorEnvironment> ctx,
- final RegionInfo regionInfo, final boolean force) throws IOException {}
+ final RegionInfo regionInfo) throws IOException {}
/**
* Called prior to marking a given region as offline.
@@ -528,7 +526,7 @@ public interface MasterObserver {
* @param regionInfo
*/
default void preRegionOffline(final ObserverContext<MasterCoprocessorEnvironment> ctx,
- final RegionInfo regionInfo) throws IOException {}
+ final RegionInfo regionInfo) throws IOException {}
/**
* Called after the region has been marked offline.
@@ -536,7 +534,7 @@ public interface MasterObserver {
* @param regionInfo
*/
default void postRegionOffline(final ObserverContext<MasterCoprocessorEnvironment> ctx,
- final RegionInfo regionInfo) throws IOException {}
+ final RegionInfo regionInfo) throws IOException {}
/**
* Called prior to requesting rebalancing of the cluster regions, though after
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
index 28c9c30..01d1a62 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
@@ -676,21 +676,20 @@ public class MasterCoprocessorHost
});
}
- public void preUnassign(final RegionInfo regionInfo, final boolean force)
- throws IOException {
+ public void preUnassign(final RegionInfo regionInfo) throws IOException {
execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {
@Override
public void call(MasterObserver observer) throws IOException {
- observer.preUnassign(this, regionInfo, force);
+ observer.preUnassign(this, regionInfo);
}
});
}
- public void postUnassign(final RegionInfo regionInfo, final boolean force) throws IOException {
+ public void postUnassign(final RegionInfo regionInfo) throws IOException {
execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {
@Override
public void call(MasterObserver observer) throws IOException {
- observer.postUnassign(this, regionInfo, force);
+ observer.postUnassign(this, regionInfo);
}
});
}
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 46c887b..6a45fed 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
@@ -1703,7 +1703,6 @@ public class MasterRpcServices extends RSRpcServices implements
try {
final byte [] regionName = req.getRegion().getValue().toByteArray();
RegionSpecifierType type = req.getRegion().getType();
- final boolean force = req.getForce();
UnassignRegionResponse urr = UnassignRegionResponse.newBuilder().build();
master.checkInitialized();
@@ -1723,13 +1722,13 @@ public class MasterRpcServices extends RSRpcServices implements
RegionInfo hri = pair.getFirst();
if (master.cpHost != null) {
- master.cpHost.preUnassign(hri, force);
+ master.cpHost.preUnassign(hri);
}
LOG.debug(master.getClientIdAuditPrefix() + " unassign " + hri.getRegionNameAsString()
- + " in current location if it is online and reassign.force=" + force);
+ + " in current location if it is online");
master.getAssignmentManager().unassign(hri);
if (master.cpHost != null) {
- master.cpHost.postUnassign(hri, force);
+ master.cpHost.postUnassign(hri);
}
return urr;
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
index 5b9eadd..b9f880d 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
@@ -48,8 +48,6 @@ public class UnassignProcedure extends RegionTransitionProcedure {
protected volatile ServerName destinationServer;
- private boolean force;
-
private boolean removeAfterUnassigning;
public UnassignProcedure() {
@@ -80,9 +78,6 @@ public class UnassignProcedure extends RegionTransitionProcedure {
if (this.destinationServer != null) {
state.setDestinationServer(ProtobufUtil.toServerName(destinationServer));
}
- if (force) {
- state.setForce(true);
- }
if (removeAfterUnassigning) {
state.setRemoveAfterUnassigning(true);
}
@@ -98,7 +93,6 @@ public class UnassignProcedure extends RegionTransitionProcedure {
setTransitionState(state.getTransitionState());
setRegionInfo(ProtobufUtil.toRegionInfo(state.getRegionInfo()));
this.hostingServer = ProtobufUtil.toServerName(state.getHostingServer());
- force = state.getForce();
if (state.hasDestinationServer()) {
this.destinationServer = ProtobufUtil.toServerName(state.getDestinationServer());
}
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
index 7c12f23..cb664bb 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
@@ -985,8 +985,8 @@ public class AccessController implements MasterCoprocessor, RegionCoprocessor,
}
@Override
- public void preUnassign(ObserverContext<MasterCoprocessorEnvironment> c, RegionInfo regionInfo,
- boolean force) throws IOException {
+ public void preUnassign(ObserverContext<MasterCoprocessorEnvironment> c, RegionInfo regionInfo)
+ throws IOException {
requirePermission(c, "unassign",
regionInfo.getTable(), null, null, Action.ADMIN);
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
index 7120758..d0188fe 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
@@ -651,13 +651,13 @@ public class TestMasterObserver {
@Override
public void preUnassign(ObserverContext<MasterCoprocessorEnvironment> env,
- final RegionInfo regionInfo, final boolean force) throws IOException {
+ final RegionInfo regionInfo) throws IOException {
preUnassignCalled = true;
}
@Override
public void postUnassign(ObserverContext<MasterCoprocessorEnvironment> env,
- final RegionInfo regionInfo, final boolean force) throws IOException {
+ final RegionInfo regionInfo) throws IOException {
postUnassignCalled = true;
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/rsgroup/VerifyingRSGroupAdmin.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/rsgroup/VerifyingRSGroupAdmin.java
index 16aa12f..b672a0d 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/rsgroup/VerifyingRSGroupAdmin.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/rsgroup/VerifyingRSGroupAdmin.java
@@ -314,8 +314,8 @@ public class VerifyingRSGroupAdmin implements Admin, Closeable {
admin.assign(regionName);
}
- public void unassign(byte[] regionName, boolean force) throws IOException {
- admin.unassign(regionName, force);
+ public void unassign(byte[] regionName) throws IOException {
+ admin.unassign(regionName);
}
public void offline(byte[] regionName) throws IOException {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
index 2ab61e1..5c0610f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
@@ -681,7 +681,7 @@ public class TestAccessController extends SecureTestUtil {
AccessTestAction action = new AccessTestAction() {
@Override
public Object run() throws Exception {
- ACCESS_CONTROLLER.preUnassign(ObserverContextImpl.createAndPrepare(CP_ENV), hri, false);
+ ACCESS_CONTROLLER.preUnassign(ObserverContextImpl.createAndPrepare(CP_ENV), hri);
return null;
}
};
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
index 85551d4..47458f3 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
@@ -565,8 +565,7 @@ public class TestWithDisabledAuthorization extends SecureTestUtil {
@Override
public Object run() throws Exception {
RegionInfo region = RegionInfoBuilder.newBuilder(testTable.getTableName()).build();
- ACCESS_CONTROLLER.preUnassign(ObserverContextImpl.createAndPrepare(CP_ENV), region,
- true);
+ ACCESS_CONTROLLER.preUnassign(ObserverContextImpl.createAndPrepare(CP_ENV), region);
return null;
}
}, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);
diff --git a/hbase-shell/src/main/ruby/hbase/admin.rb b/hbase-shell/src/main/ruby/hbase/admin.rb
index e3c02e3..96d824d 100644
--- a/hbase-shell/src/main/ruby/hbase/admin.rb
+++ b/hbase-shell/src/main/ruby/hbase/admin.rb
@@ -583,8 +583,9 @@ module Hbase
#----------------------------------------------------------------------------------------------
# Unassign a region
- def unassign(region_name, force)
- @admin.unassign(region_name.to_java_bytes, java.lang.Boolean.valueOf(force))
+ # the force parameter is deprecated, if it is specified, will be ignored.
+ def unassign(region_name, force = nil)
+ @admin.unassign(region_name.to_java_bytes)
end
#----------------------------------------------------------------------------------------------
diff --git a/hbase-shell/src/main/ruby/shell/commands/unassign.rb b/hbase-shell/src/main/ruby/shell/commands/unassign.rb
index 0e6aa61..8bd74e8 100644
--- a/hbase-shell/src/main/ruby/shell/commands/unassign.rb
+++ b/hbase-shell/src/main/ruby/shell/commands/unassign.rb
@@ -23,23 +23,19 @@ module Shell
def help
<<-EOF
Unassign a region. It could be executed only when region in expected state(OPEN).
-Pass 'true' to force the unassignment ('force' will clear all in-memory state in
-master before the reassign. If results in double assignment use hbck -fix to resolve.
-To be used by experts).
In addition, you can use "unassigns" command available on HBCK2 tool to skip the state check.
(For more info on HBCK2: https://github.com/apache/hbase-operator-tools/blob/master/hbase-hbck2/README.md)
Use with caution. For experts only.
Examples:
hbase> unassign 'REGIONNAME'
- hbase> unassign 'REGIONNAME', true
hbase> unassign 'ENCODED_REGIONNAME'
- hbase> unassign 'ENCODED_REGIONNAME', true
EOF
end
- def command(region_name, force = 'false')
- admin.unassign(region_name, force)
+ # the force parameter is deprecated, if it is specified, will be ignored.
+ def command(region_name, force = nil)
+ admin.unassign(region_name)
end
end
end
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.java
index 633238b..a3e848f 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.java
@@ -602,9 +602,8 @@ public class ThriftAdmin implements Admin {
}
@Override
- public void unassign(byte[] regionName, boolean force) {
+ public void unassign(byte[] regionName) {
throw new NotImplementedException("unassign not supported in ThriftAdmin");
-
}
@Override