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) 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 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