Repository: hbase Updated Branches: refs/heads/branch-2.1 101205345 -> 0d008b479
HBASE-21223 [amv2] Remove abort_procedure from shell Signed-off-by: Balazs Meszaros <balazs.mesza...@cloudera.com> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0d008b47 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0d008b47 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0d008b47 Branch: refs/heads/branch-2.1 Commit: 0d008b47925e99a71f60def73645c798430b9778 Parents: 1012053 Author: Michael Stack <st...@apache.org> Authored: Tue Sep 25 09:50:01 2018 -0700 Committer: Michael Stack <st...@apache.org> Committed: Tue Sep 25 10:07:32 2018 -0700 ---------------------------------------------------------------------- .../org/apache/hadoop/hbase/client/Admin.java | 6 +++ .../apache/hadoop/hbase/client/AsyncAdmin.java | 5 ++- hbase-shell/src/main/ruby/hbase/admin.rb | 9 ---- hbase-shell/src/main/ruby/shell.rb | 1 - .../main/ruby/shell/commands/abort_procedure.rb | 47 -------------------- 5 files changed, 10 insertions(+), 58 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/0d008b47/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 331f2d1..2ea6987 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 @@ -1723,11 +1723,14 @@ public interface Admin extends Abortable, Closeable { /** * Abort a procedure. + * Do not use. Usually it is ignored but if not, it can do more damage than good. See hbck2. * @param procId ID of the procedure to abort * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted? * @return <code>true</code> if aborted, <code>false</code> if procedure already completed or does not exist * @throws IOException + * @deprecated Since 2.1.1 -- to be removed. */ + @Deprecated boolean abortProcedure( long procId, boolean mayInterruptIfRunning) throws IOException; @@ -1738,12 +1741,15 @@ public interface Admin extends Abortable, Closeable { * It may throw ExecutionException if there was an error while executing the operation * or TimeoutException in case the wait timeout was not long enough to allow the * operation to complete. + * Do not use. Usually it is ignored but if not, it can do more damage than good. See hbck2. * * @param procId ID of the procedure to abort * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted? * @return <code>true</code> if aborted, <code>false</code> if procedure already completed or does not exist * @throws IOException + * @deprecated Since 2.1.1 -- to be removed. */ + @Deprecated Future<Boolean> abortProcedureAsync( long procId, boolean mayInterruptIfRunning) throws IOException; http://git-wip-us.apache.org/repos/asf/hbase/blob/0d008b47/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncAdmin.java ---------------------------------------------------------------------- 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 8141e74..134ef85 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 @@ -846,12 +846,15 @@ public interface AsyncAdmin { Map<String, String> props); /** - * abort a procedure + * Abort a procedure + * Do not use. Usually it is ignored but if not, it can do more damage than good. See hbck2. * @param procId ID of the procedure to abort * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted? * @return true if aborted, false if procedure already completed or does not exist. the value is * wrapped by {@link CompletableFuture} + * @deprecated Since 2.1.1 -- to be removed. */ + @Deprecated CompletableFuture<Boolean> abortProcedure(long procId, boolean mayInterruptIfRunning); /** http://git-wip-us.apache.org/repos/asf/hbase/blob/0d008b47/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 4385acf..68bb353 100644 --- a/hbase-shell/src/main/ruby/hbase/admin.rb +++ b/hbase-shell/src/main/ruby/hbase/admin.rb @@ -1211,15 +1211,6 @@ module Hbase @admin.getSecurityCapabilities end - # Abort a procedure - def abort_procedure?(proc_id, may_interrupt_if_running = nil) - if may_interrupt_if_running.nil? - @admin.abortProcedure(proc_id, true) - else - @admin.abortProcedure(proc_id, may_interrupt_if_running) - end - end - # List all procedures def list_procedures @admin.getProcedures http://git-wip-us.apache.org/repos/asf/hbase/blob/0d008b47/hbase-shell/src/main/ruby/shell.rb ---------------------------------------------------------------------- diff --git a/hbase-shell/src/main/ruby/shell.rb b/hbase-shell/src/main/ruby/shell.rb index ce99d22..ce26da2 100644 --- a/hbase-shell/src/main/ruby/shell.rb +++ b/hbase-shell/src/main/ruby/shell.rb @@ -449,7 +449,6 @@ Shell.load_command_group( 'procedures', full_name: 'PROCEDURES & LOCKS MANAGEMENT', commands: %w[ - abort_procedure list_procedures list_locks ] http://git-wip-us.apache.org/repos/asf/hbase/blob/0d008b47/hbase-shell/src/main/ruby/shell/commands/abort_procedure.rb ---------------------------------------------------------------------- diff --git a/hbase-shell/src/main/ruby/shell/commands/abort_procedure.rb b/hbase-shell/src/main/ruby/shell/commands/abort_procedure.rb deleted file mode 100644 index 28c7d85..0000000 --- a/hbase-shell/src/main/ruby/shell/commands/abort_procedure.rb +++ /dev/null @@ -1,47 +0,0 @@ -# -# -# 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. -# - -module Shell - module Commands - class AbortProcedure < Command - def help - <<-EOF -Given a procedure Id (and optional boolean may_interrupt_if_running parameter, -default is true), abort a procedure in hbase. Use with caution. Some procedures -might not be abortable. For experts only. - -If this command is accepted and the procedure is in the process of aborting, -it will return true; if the procedure could not be aborted (eg. procedure -does not exist, or procedure already completed or abort will cause corruption), -this command will return false. - -Examples: - - hbase> abort_procedure proc_id - hbase> abort_procedure proc_id, true - hbase> abort_procedure proc_id, false -EOF - end - - def command(proc_id, may_interrupt_if_running = nil) - formatter.row([admin.abort_procedure?(proc_id, may_interrupt_if_running).to_s]) - end - end - end -end