HBASE-14487 Procedure V2 - shell command to list all procedures (Stephen Yuan Jiang)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/5284a180 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/5284a180 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/5284a180 Branch: refs/heads/branch-1.1 Commit: 5284a180b673e282f0c468e2c898869cc13c676e Parents: 68b4c74 Author: Stephen Yuan Jiang <syuanjiang...@gmail.com> Authored: Thu Sep 24 20:42:55 2015 -0700 Committer: Stephen Yuan Jiang <syuanjiang...@gmail.com> Committed: Wed Jan 6 00:31:35 2016 -0800 ---------------------------------------------------------------------- hbase-shell/src/main/ruby/hbase/admin.rb | 5 +++ hbase-shell/src/main/ruby/shell.rb | 8 ++++ .../main/ruby/shell/commands/list_procedures.rb | 46 ++++++++++++++++++++ 3 files changed, 59 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/5284a180/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 0c3b34b..5eea1fe 100644 --- a/hbase-shell/src/main/ruby/hbase/admin.rb +++ b/hbase-shell/src/main/ruby/hbase/admin.rb @@ -976,5 +976,10 @@ module Hbase @admin.deleteNamespace(namespace_name) end + #---------------------------------------------------------------------------------------------- + # List all procedures + def list_procedures() + @admin.listProcedures() + end end end http://git-wip-us.apache.org/repos/asf/hbase/blob/5284a180/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 1566685..4a73fef 100644 --- a/hbase-shell/src/main/ruby/shell.rb +++ b/hbase-shell/src/main/ruby/shell.rb @@ -396,6 +396,14 @@ Shell.load_command_group( ) Shell.load_command_group( + 'procedures', + :full_name => 'PROCEDURES MANAGEMENT', + :commands => %w[ + list_procedures + ] +) + +Shell.load_command_group( 'visibility labels', :full_name => 'VISIBILITY LABEL TOOLS', :comment => "NOTE: Above commands are only applicable if running with the VisibilityController coprocessor", http://git-wip-us.apache.org/repos/asf/hbase/blob/5284a180/hbase-shell/src/main/ruby/shell/commands/list_procedures.rb ---------------------------------------------------------------------- diff --git a/hbase-shell/src/main/ruby/shell/commands/list_procedures.rb b/hbase-shell/src/main/ruby/shell/commands/list_procedures.rb new file mode 100644 index 0000000..f407547 --- /dev/null +++ b/hbase-shell/src/main/ruby/shell/commands/list_procedures.rb @@ -0,0 +1,46 @@ +# +# +# 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 ListProcedures < Command + def help + return <<-EOF +List all procedures in hbase. Examples: + + hbase> list_procedures +EOF + end + + def command() + now = Time.now + formatter.header([ "Id", "Name", "State", "Start_Time", "Last_Update" ]) + + list = admin.list_procedures() + list.each do |proc| + start_time = Time.at(proc.getStartTime / 1000).to_s + last_update = Time.at(proc.getLastUpdate / 1000).to_s + formatter.row([ proc.getProcId, proc.getProcName, proc.getProcState, start_time, last_update ]) + end + + formatter.footer(now, list.size) + end + end + end +end