Repository: hbase Updated Branches: refs/heads/master dff86542d -> 23506454c
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/23506454 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/23506454 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/23506454 Branch: refs/heads/master Commit: 23506454cf92d532630b7442bd570ae0b5dd0a52 Parents: dff8654 Author: Stephen Yuan Jiang <syuanjiang...@gmail.com> Authored: Thu Sep 24 20:39:17 2015 -0700 Committer: Stephen Yuan Jiang <syuanjiang...@gmail.com> Committed: Thu Sep 24 20:39:17 2015 -0700 ---------------------------------------------------------------------- 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/23506454/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 5af194e..294a6f2 100644 --- a/hbase-shell/src/main/ruby/hbase/admin.rb +++ b/hbase-shell/src/main/ruby/hbase/admin.rb @@ -1020,5 +1020,10 @@ module Hbase def get_security_capabilities @admin.getSecurityCapabilities end + + # List all procedures + def list_procedures() + @admin.listProcedures() + end end end http://git-wip-us.apache.org/repos/asf/hbase/blob/23506454/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 557626a..fa19c26 100644 --- a/hbase-shell/src/main/ruby/shell.rb +++ b/hbase-shell/src/main/ruby/shell.rb @@ -404,6 +404,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/23506454/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