You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2016/06/30 18:02:22 UTC

hbase git commit: HBASE-16147 Add ruby wrapper for getting compaction state

Repository: hbase
Updated Branches:
  refs/heads/master 1fbded61c -> ffd3987c5


HBASE-16147 Add ruby wrapper for getting compaction state


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

Branch: refs/heads/master
Commit: ffd3987c54a61e1baf230f27d8ddf5d5757abd5a
Parents: 1fbded6
Author: tedyu <yu...@gmail.com>
Authored: Thu Jun 30 11:01:54 2016 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Thu Jun 30 11:01:54 2016 -0700

----------------------------------------------------------------------
 hbase-shell/src/main/ruby/hbase/admin.rb        |  6 ++++
 hbase-shell/src/main/ruby/shell.rb              |  1 +
 .../ruby/shell/commands/compaction_state.rb     | 36 ++++++++++++++++++++
 hbase-shell/src/test/ruby/hbase/admin_test.rb   |  6 ++++
 4 files changed, 49 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/ffd3987c/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 73b78d8..5f04d1d 100644
--- a/hbase-shell/src/main/ruby/hbase/admin.rb
+++ b/hbase-shell/src/main/ruby/hbase/admin.rb
@@ -81,6 +81,12 @@ module Hbase
       end
     end
 
+    #----------------------------------------------------------------------------------------------
+    # Gets compaction state for specified table
+    def getCompactionState(table_name)
+      @admin.getCompactionState(TableName.valueOf(table_name)).name()
+    end
+
     # Requests to compact all regions on the regionserver
     def compact_regionserver(servername, major = false)
       @admin.compactRegionServer(ServerName.valueOf(servername), major)

http://git-wip-us.apache.org/repos/asf/hbase/blob/ffd3987c/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 d0cb577..bb6a604 100644
--- a/hbase-shell/src/main/ruby/shell.rb
+++ b/hbase-shell/src/main/ruby/shell.rb
@@ -349,6 +349,7 @@ Shell.load_command_group(
     catalogjanitor_switch
     catalogjanitor_enabled
     compact_rs
+    compaction_state
     trace
     splitormerge_switch
     splitormerge_enabled

http://git-wip-us.apache.org/repos/asf/hbase/blob/ffd3987c/hbase-shell/src/main/ruby/shell/commands/compaction_state.rb
----------------------------------------------------------------------
diff --git a/hbase-shell/src/main/ruby/shell/commands/compaction_state.rb b/hbase-shell/src/main/ruby/shell/commands/compaction_state.rb
new file mode 100644
index 0000000..fbcdc7e
--- /dev/null
+++ b/hbase-shell/src/main/ruby/shell/commands/compaction_state.rb
@@ -0,0 +1,36 @@
+#
+#
+# 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 CompactionState < Command
+      def help
+        return <<-EOF
+          Gets compaction status for a table:
+          hbase> compaction_state 'ns1:t1'
+          hbase> compaction_state 't1'
+        EOF
+      end
+
+      def command(table_name)
+        admin.getCompactionState(table_name)
+      end
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/hbase/blob/ffd3987c/hbase-shell/src/test/ruby/hbase/admin_test.rb
----------------------------------------------------------------------
diff --git a/hbase-shell/src/test/ruby/hbase/admin_test.rb b/hbase-shell/src/test/ruby/hbase/admin_test.rb
index cf9cf64..930debf 100644
--- a/hbase-shell/src/test/ruby/hbase/admin_test.rb
+++ b/hbase-shell/src/test/ruby/hbase/admin_test.rb
@@ -111,6 +111,12 @@ module Hbase
 
     #-------------------------------------------------------------------------------
 
+    define_test "compaction_state should work" do
+      command(:compaction_state, 'hbase:meta')
+    end
+
+    #-------------------------------------------------------------------------------
+
     define_test "major_compact should work" do
       command(:major_compact, 'hbase:meta')
     end