You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2018/10/10 17:24:07 UTC

[2/3] hbase git commit: HBASE-21283 Add new shell command 'rit' for listing regions in transition

HBASE-21283 Add new shell command 'rit' for listing regions in transition


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

Branch: refs/heads/branch-2
Commit: 4b93f95af7c65c8e7d9dd44bb232ad50b16ac9a0
Parents: 91aceeb
Author: Andrew Purtell <ap...@apache.org>
Authored: Tue Oct 9 12:39:03 2018 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Wed Oct 10 10:03:15 2018 -0700

----------------------------------------------------------------------
 hbase-shell/src/main/ruby/hbase/admin.rb        |  6 +++
 hbase-shell/src/main/ruby/shell.rb              |  1 +
 hbase-shell/src/main/ruby/shell/commands/rit.rb | 40 ++++++++++++++++++++
 3 files changed, 47 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/4b93f95a/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 e4efab0..898feae 100644
--- a/hbase-shell/src/main/ruby/hbase/admin.rb
+++ b/hbase-shell/src/main/ruby/hbase/admin.rb
@@ -1064,6 +1064,12 @@ module Hbase
     end
 
     #----------------------------------------------------------------------------------------------
+    # Returns the ClusterStatus of the cluster
+    def getClusterStatus
+      @admin.getClusterStatus
+    end
+
+    #----------------------------------------------------------------------------------------------
     # Returns a list of regionservers
     def getRegionServers
       @admin.getClusterStatus.getServers.map { |serverName| serverName }

http://git-wip-us.apache.org/repos/asf/hbase/blob/4b93f95a/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 458226b..9aada3a 100644
--- a/hbase-shell/src/main/ruby/shell.rb
+++ b/hbase-shell/src/main/ruby/shell.rb
@@ -361,6 +361,7 @@ Shell.load_command_group(
     clear_block_cache
     stop_master
     stop_regionserver
+    rit
   ],
   # TODO: remove older hlog_roll command
   aliases: {

http://git-wip-us.apache.org/repos/asf/hbase/blob/4b93f95a/hbase-shell/src/main/ruby/shell/commands/rit.rb
----------------------------------------------------------------------
diff --git a/hbase-shell/src/main/ruby/shell/commands/rit.rb b/hbase-shell/src/main/ruby/shell/commands/rit.rb
new file mode 100644
index 0000000..cdb49cf
--- /dev/null
+++ b/hbase-shell/src/main/ruby/shell/commands/rit.rb
@@ -0,0 +1,40 @@
+#
+# 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
+    # List all regions in transition
+    class Rit < Command
+      def help
+        <<-EOF
+List all regions in transition.
+Examples:
+  hbase> rit
+        EOF
+      end
+
+      def command
+        rit = admin.getClusterStatus.getRegionStatesInTransition
+        rit.each do |v|
+          formatter.row([v.toDescriptiveString])
+        end
+        formatter.footer(rit.size)
+      end
+    end
+  end
+end