From 2ee7d2a4882b18001bd5fbe7e5db32d6f75153ca Mon Sep 17 00:00:00 2001 From: Apekshit Sharma Date: Fri, 3 Jun 2016 16:34:52 -0700 Subject: [PATCH] HBASE-15845 Changes: - Remove omnipresence of formatter object since it is kind of a use-and-throw class. Commands should create an instance, use it to format the output and discard it. - Some refactoring Tested: Ran TestShell Change-Id: I12176ee12695df952ee4b0f8397e5d3be8f16a87 --- bin/hirb.rb | 6 +- hbase-shell/src/main/ruby/hbase/admin.rb | 82 ++++++++----------- hbase-shell/src/main/ruby/hbase/hbase.rb | 34 ++++---- hbase-shell/src/main/ruby/hbase/quotas.rb | 3 +- .../src/main/ruby/hbase/replication_admin.rb | 3 +- hbase-shell/src/main/ruby/hbase/security.rb | 3 +- hbase-shell/src/main/ruby/hbase/table.rb | 2 +- .../src/main/ruby/hbase/taskmonitor.rb | 3 +- .../src/main/ruby/hbase/visibility_labels.rb | 5 +- hbase-shell/src/main/ruby/shell.rb | 23 +++--- hbase-shell/src/main/ruby/shell/commands.rb | 9 +- hbase-shell/src/test/ruby/hbase/admin_test.rb | 1 - hbase-shell/src/test/ruby/hbase/hbase_test.rb | 9 +- .../test/ruby/hbase/replication_admin_test.rb | 1 - .../test/ruby/hbase/security_admin_test.rb | 1 - .../hbase/visibility_labels_admin_test.rb | 1 - .../test/ruby/shell/noninteractive_test.rb | 4 +- hbase-shell/src/test/ruby/shell/shell_test.rb | 4 +- hbase-shell/src/test/ruby/test_helper.rb | 8 +- 19 files changed, 86 insertions(+), 116 deletions(-) diff --git a/bin/hirb.rb b/bin/hirb.rb index 94b5cdba1ca..2726e48a35f 100644 --- a/bin/hirb.rb +++ b/bin/hirb.rb @@ -123,15 +123,11 @@ require 'shell' # Require formatter require 'shell/formatter' -# Presume console format. -# Formatter takes an :output_stream parameter, if you don't want STDOUT. -@formatter = Shell::Formatter::Console.new - # Setup the HBase module. Create a configuration. @hbase = Hbase::Hbase.new # Setup console -@shell = Shell::Shell.new(@hbase, @formatter, interactive) +@shell = Shell::Shell.new(@hbase, interactive) @shell.debug = @shell_debug # Add commands to this namespace diff --git a/hbase-shell/src/main/ruby/hbase/admin.rb b/hbase-shell/src/main/ruby/hbase/admin.rb index f2bca0e608b..21e0652c467 100644 --- a/hbase-shell/src/main/ruby/hbase/admin.rb +++ b/hbase-shell/src/main/ruby/hbase/admin.rb @@ -32,10 +32,10 @@ module Hbase class Admin include HBaseConstants - def initialize(admin, formatter) - @admin = admin - @connection = @admin.getConnection() - @formatter = formatter + def initialize(connection) + @connection = connection + # Java Admin instance + @admin = @connection.getAdmin end def close @@ -275,12 +275,6 @@ module Hbase org.apache.hadoop.hbase.zookeeper.ZKUtil::dump(@zk_wrapper) end - #---------------------------------------------------------------------------------------------- - # Parse arguments and update HTableDescriptor accordingly - def parse_htd_args(htd, arg) - htd.setNormalizationEnabled(JBoolean.valueOf(arg.delete(NORMALIZATION_ENABLED))) if arg[NORMALIZATION_ENABLED] - end - #---------------------------------------------------------------------------------------------- # Creates a table def create(table_name, *args) @@ -359,24 +353,7 @@ module Hbase end # Done with splits; apply formerly-table_att parameters. - htd.setOwnerString(arg.delete(OWNER)) if arg[OWNER] - htd.setMaxFileSize(JLong.valueOf(arg.delete(MAX_FILESIZE))) if arg[MAX_FILESIZE] - htd.setReadOnly(JBoolean.valueOf(arg.delete(READONLY))) if arg[READONLY] - htd.setCompactionEnabled(JBoolean.valueOf(arg[COMPACTION_ENABLED])) if arg[COMPACTION_ENABLED] - htd.setMemStoreFlushSize(JLong.valueOf(arg.delete(MEMSTORE_FLUSHSIZE))) if arg[MEMSTORE_FLUSHSIZE] - # DEFERRED_LOG_FLUSH is deprecated and was replaced by DURABILITY. To keep backward compatible, it still exists. - # However, it has to be set before DURABILITY so that DURABILITY could overwrite if both args are set - if arg.include?(DEFERRED_LOG_FLUSH) - if arg.delete(DEFERRED_LOG_FLUSH).to_s.upcase == "TRUE" - htd.setDurability(org.apache.hadoop.hbase.client.Durability.valueOf("ASYNC_WAL")) - else - htd.setDurability(org.apache.hadoop.hbase.client.Durability.valueOf("SYNC_WAL")) - end - end - htd.setDurability(org.apache.hadoop.hbase.client.Durability.valueOf(arg.delete(DURABILITY))) if arg[DURABILITY] - parse_htd_args(htd, arg) - set_user_metadata(htd, arg.delete(METADATA)) if arg[METADATA] - set_descriptor_config(htd, arg.delete(CONFIGURATION)) if arg[CONFIGURATION] + update_htd_from_arg(htd, arg) arg.each_key do |ignored_key| puts("An argument ignored (unknown or overridden): %s" % [ ignored_key ]) @@ -612,26 +589,7 @@ module Hbase end # 3) Some args for the table, optionally with METHOD => table_att (deprecated) - raise(ArgumentError, "NAME argument in an unexpected place") if name - htd.setOwnerString(arg.delete(OWNER)) if arg[OWNER] - htd.setMaxFileSize(JLong.valueOf(arg.delete(MAX_FILESIZE))) if arg[MAX_FILESIZE] - htd.setReadOnly(JBoolean.valueOf(arg.delete(READONLY))) if arg[READONLY] - htd.setCompactionEnabled(JBoolean.valueOf(arg[COMPACTION_ENABLED])) if arg[COMPACTION_ENABLED] - parse_htd_args(htd, arg) - htd.setMemStoreFlushSize(JLong.valueOf(arg.delete(MEMSTORE_FLUSHSIZE))) if arg[MEMSTORE_FLUSHSIZE] - # DEFERRED_LOG_FLUSH is deprecated and was replaced by DURABILITY. To keep backward compatible, it still exists. - # However, it has to be set before DURABILITY so that DURABILITY could overwrite if both args are set - if arg.include?(DEFERRED_LOG_FLUSH) - if arg.delete(DEFERRED_LOG_FLUSH).to_s.upcase == "TRUE" - htd.setDurability(org.apache.hadoop.hbase.client.Durability.valueOf("ASYNC_WAL")) - else - htd.setDurability(org.apache.hadoop.hbase.client.Durability.valueOf("SYNC_WAL")) - end - end - htd.setDurability(org.apache.hadoop.hbase.client.Durability.valueOf(arg.delete(DURABILITY))) if arg[DURABILITY] - htd.setRegionReplication(JInteger.valueOf(arg.delete(REGION_REPLICATION))) if arg[REGION_REPLICATION] - set_user_metadata(htd, arg.delete(METADATA)) if arg[METADATA] - set_descriptor_config(htd, arg.delete(CONFIGURATION)) if arg[CONFIGURATION] + update_htd_from_arg(htd, arg) # set a coprocessor attribute valid_coproc_keys = [] @@ -723,7 +681,7 @@ module Hbase rLoadSink = sl.getReplicationLoadSink() rSinkString << " AgeOfLastAppliedOp=" + rLoadSink.getAgeOfLastAppliedOp().to_s rSinkString << ", TimeStampsOfLastAppliedOp=" + - (java.util.Date.new(rLoadSink.getTimeStampsOfLastAppliedOp())).toString() + (java.util.Date.new(rLoadSink.getTimeStampsOfLastAppliedOp())).toString() rLoadSourceList = sl.getReplicationLoadSourceList() index = 0 while index < rLoadSourceList.size() @@ -732,7 +690,7 @@ module Hbase rSourceString << ", AgeOfLastShippedOp=" + rLoadSource.getAgeOfLastShippedOp().to_s rSourceString << ", SizeOfLogQueue=" + rLoadSource.getSizeOfLogQueue().to_s rSourceString << ", TimeStampsOfLastShippedOp=" + - (java.util.Date.new(rLoadSource.getTimeStampOfLastShippedOp())).toString() + (java.util.Date.new(rLoadSource.getTimeStampOfLastShippedOp())).toString() rSourceString << ", Replication Lag=" + rLoadSource.getReplicationLag().to_s index = index + 1 end @@ -1131,5 +1089,29 @@ module Hbase def list_procedures() @admin.listProcedures() end + + # Parse arguments and update HTableDescriptor accordingly + def update_htd_from_arg(htd, arg) + htd.setOwnerString(arg.delete(OWNER)) if arg[OWNER] + htd.setMaxFileSize(JLong.valueOf(arg.delete(MAX_FILESIZE))) if arg[MAX_FILESIZE] + htd.setReadOnly(JBoolean.valueOf(arg.delete(READONLY))) if arg[READONLY] + htd.setCompactionEnabled(JBoolean.valueOf(arg[COMPACTION_ENABLED])) if arg[COMPACTION_ENABLED] + htd.setNormalizationEnabled( + JBoolean.valueOf(arg[NORMALIZATION_ENABLED])) if arg[NORMALIZATION_ENABLED] + htd.setMemStoreFlushSize(JLong.valueOf(arg.delete(MEMSTORE_FLUSHSIZE))) if arg[MEMSTORE_FLUSHSIZE] + # DEFERRED_LOG_FLUSH is deprecated and was replaced by DURABILITY. To keep backward compatible, it still exists. + # However, it has to be set before DURABILITY so that DURABILITY could overwrite if both args are set + if arg.include?(DEFERRED_LOG_FLUSH) + if arg.delete(DEFERRED_LOG_FLUSH).to_s.upcase == "TRUE" + htd.setDurability(org.apache.hadoop.hbase.client.Durability.valueOf("ASYNC_WAL")) + else + htd.setDurability(org.apache.hadoop.hbase.client.Durability.valueOf("SYNC_WAL")) + end + end + htd.setDurability(org.apache.hadoop.hbase.client.Durability.valueOf(arg.delete(DURABILITY))) if arg[DURABILITY] + htd.setRegionReplication(JInteger.valueOf(arg.delete(REGION_REPLICATION))) if arg[REGION_REPLICATION] + set_user_metadata(htd, arg.delete(METADATA)) if arg[METADATA] + set_descriptor_config(htd, arg.delete(CONFIGURATION)) if arg[CONFIGURATION] + end end end diff --git a/hbase-shell/src/main/ruby/hbase/hbase.rb b/hbase-shell/src/main/ruby/hbase/hbase.rb index 9c6946dd3d4..e0243ceaa97 100644 --- a/hbase-shell/src/main/ruby/hbase/hbase.rb +++ b/hbase-shell/src/main/ruby/hbase/hbase.rb @@ -18,6 +18,8 @@ # include Java +java_import org.apache.hadoop.hbase.client.ConnectionFactory +java_import org.apache.hadoop.hbase.HBaseConfiguration require 'hbase/admin' require 'hbase/table' @@ -35,21 +37,21 @@ module Hbase if config self.configuration = config else - self.configuration = org.apache.hadoop.hbase.HBaseConfiguration.create + self.configuration = HBaseConfiguration.create # Turn off retries in hbase and ipc. Human doesn't want to wait on N retries. configuration.setInt("hbase.client.retries.number", 7) configuration.setInt("hbase.ipc.client.connect.max.retries", 3) end - @connection = org.apache.hadoop.hbase.client.ConnectionFactory.createConnection( - self.configuration) + @connection = ConnectionFactory.createConnection(self.configuration) end - def admin(formatter) - ::Hbase::Admin.new(@connection.getAdmin, formatter) + # Returns ruby's Admin class from admin.rb + def admin() + ::Hbase::Admin.new(@connection) end - def taskmonitor(formatter) - ::Hbase::TaskMonitor.new(configuration, formatter) + def taskmonitor() + ::Hbase::TaskMonitor.new(configuration) end # Create new one each time @@ -57,20 +59,20 @@ module Hbase ::Hbase::Table.new(@connection.getTable(table), shell) end - def replication_admin(formatter) - ::Hbase::RepAdmin.new(configuration, formatter) + def replication_admin() + ::Hbase::RepAdmin.new(configuration) end - def security_admin(formatter) - ::Hbase::SecurityAdmin.new(@connection.getAdmin, formatter) + def security_admin() + ::Hbase::SecurityAdmin.new(@connection.getAdmin) end - def visibility_labels_admin(formatter) - ::Hbase::VisibilityLabelsAdmin.new(@connection.getAdmin, formatter) + def visibility_labels_admin() + ::Hbase::VisibilityLabelsAdmin.new(@connection.getAdmin) end - - def quotas_admin(formatter) - ::Hbase::QuotasAdmin.new(@connection.getAdmin, formatter) + + def quotas_admin() + ::Hbase::QuotasAdmin.new(@connection.getAdmin) end def shutdown diff --git a/hbase-shell/src/main/ruby/hbase/quotas.rb b/hbase-shell/src/main/ruby/hbase/quotas.rb index 0be428de8d7..bf2dc63d96a 100644 --- a/hbase-shell/src/main/ruby/hbase/quotas.rb +++ b/hbase-shell/src/main/ruby/hbase/quotas.rb @@ -36,9 +36,8 @@ end module Hbase class QuotasAdmin - def initialize(admin, formatter) + def initialize(admin) @admin = admin - @formatter = formatter end def close diff --git a/hbase-shell/src/main/ruby/hbase/replication_admin.rb b/hbase-shell/src/main/ruby/hbase/replication_admin.rb index 882481ae446..41f81804eb2 100644 --- a/hbase-shell/src/main/ruby/hbase/replication_admin.rb +++ b/hbase-shell/src/main/ruby/hbase/replication_admin.rb @@ -31,10 +31,9 @@ module Hbase class RepAdmin include HBaseConstants - def initialize(configuration, formatter) + def initialize(configuration) @replication_admin = ReplicationAdmin.new(configuration) @configuration = configuration - @formatter = formatter end #---------------------------------------------------------------------------------------------- diff --git a/hbase-shell/src/main/ruby/hbase/security.rb b/hbase-shell/src/main/ruby/hbase/security.rb index f061e8cc8fe..56cc2863859 100644 --- a/hbase-shell/src/main/ruby/hbase/security.rb +++ b/hbase-shell/src/main/ruby/hbase/security.rb @@ -24,10 +24,9 @@ module Hbase class SecurityAdmin include HBaseConstants - def initialize(admin, formatter) + def initialize(admin) @admin = admin @connection = @admin.getConnection() - @formatter = formatter end def close diff --git a/hbase-shell/src/main/ruby/hbase/table.rb b/hbase-shell/src/main/ruby/hbase/table.rb index 40095c878e6..7c47dc430ae 100644 --- a/hbase-shell/src/main/ruby/hbase/table.rb +++ b/hbase-shell/src/main/ruby/hbase/table.rb @@ -295,7 +295,7 @@ EOF # Parse arguments # unless args.kind_of?(Hash) - raise ArgumentError, "Failed parse of of #{args.inspect}, #{args.class}" + raise ArgumentError, "Failed parse of #{args.inspect}, #{args.class}" end # Get maxlength parameter if passed diff --git a/hbase-shell/src/main/ruby/hbase/taskmonitor.rb b/hbase-shell/src/main/ruby/hbase/taskmonitor.rb index df938488f40..d312558a35d 100644 --- a/hbase-shell/src/main/ruby/hbase/taskmonitor.rb +++ b/hbase-shell/src/main/ruby/hbase/taskmonitor.rb @@ -71,9 +71,8 @@ module Hbase end - def initialize(configuration, formatter) + def initialize(configuration) @conf = configuration - @formatter = formatter @conn = org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(@conf) @admin = @conn.getAdmin() end diff --git a/hbase-shell/src/main/ruby/hbase/visibility_labels.rb b/hbase-shell/src/main/ruby/hbase/visibility_labels.rb index 676903f719e..db333f58219 100644 --- a/hbase-shell/src/main/ruby/hbase/visibility_labels.rb +++ b/hbase-shell/src/main/ruby/hbase/visibility_labels.rb @@ -24,10 +24,9 @@ java_import org.apache.hadoop.hbase.util.Bytes module Hbase class VisibilityLabelsAdmin - def initialize(admin, formatter) + def initialize(admin) @admin = admin @config = @admin.getConfiguration() - @formatter = formatter end def close @@ -41,7 +40,7 @@ module Hbase labels = [ args ].flatten.compact end if labels.size() == 0 - raise(ArgumentError, "Arguments cannot be null") + raise(ArgumentError, "Arguments cannot be null") end begin diff --git a/hbase-shell/src/main/ruby/shell.rb b/hbase-shell/src/main/ruby/shell.rb index c64d3b97cfc..a39b6175b0c 100644 --- a/hbase-shell/src/main/ruby/shell.rb +++ b/hbase-shell/src/main/ruby/shell.rb @@ -70,25 +70,23 @@ module Shell #---------------------------------------------------------------------- class Shell attr_accessor :hbase - attr_accessor :formatter attr_accessor :interactive alias interactive? interactive @debug = false attr_accessor :debug - def initialize(hbase, formatter, interactive=true) + def initialize(hbase, interactive=true) self.hbase = hbase - self.formatter = formatter self.interactive = interactive end def hbase_admin - @hbase_admin ||= hbase.admin(formatter) + @hbase_admin ||= hbase.admin() end def hbase_taskmonitor - @hbase_taskmonitor ||= hbase.taskmonitor(formatter) + @hbase_taskmonitor ||= hbase.taskmonitor() end def hbase_table(name) @@ -96,19 +94,19 @@ module Shell end def hbase_replication_admin - @hbase_replication_admin ||= hbase.replication_admin(formatter) + @hbase_replication_admin ||= hbase.replication_admin() end def hbase_security_admin - @hbase_security_admin ||= hbase.security_admin(formatter) + @hbase_security_admin ||= hbase.security_admin() end def hbase_visibility_labels_admin - @hbase_visibility_labels_admin ||= hbase.visibility_labels_admin(formatter) + @hbase_visibility_labels_admin ||= hbase.visibility_labels_admin() end def hbase_quotas_admin - @hbase_quotas_admin ||= hbase.quotas_admin(formatter) + @hbase_quotas_admin ||= hbase.quotas_admin() end def export_commands(where) @@ -136,7 +134,7 @@ module Shell internal_command(command, :command, *args) end - #call a specific internal method in the command instance + # call a specific internal method in the command instance # command - name of the command to call # method_name - name of the method on the command to call. Defaults to just 'command' # args - to be passed to the named method @@ -145,8 +143,9 @@ module Shell end def print_banner - puts "HBase Shell; enter 'help' for list of supported commands." - puts 'Type "exit" to leave the HBase Shell' + puts 'HBase Shell' + puts 'Use "help" to get list of supported commands.' + puts 'Use "exit" to quit this interactive shell.' print 'Version ' command('version') puts diff --git a/hbase-shell/src/main/ruby/shell/commands.rb b/hbase-shell/src/main/ruby/shell/commands.rb index 851620cbc08..d580f5e7952 100644 --- a/hbase-shell/src/main/ruby/shell/commands.rb +++ b/hbase-shell/src/main/ruby/shell/commands.rb @@ -26,7 +26,7 @@ module Shell end #wrap an execution of cmd to catch hbase exceptions - # cmd - command name to execture + # cmd - command name to execute # args - arguments to pass to the command def command_safe(debug, cmd = :command, *args) # send is internal ruby method to call 'cmd' with *args @@ -50,6 +50,9 @@ module Shell end end + # Convenience functions to get different admins + + # Returns HBase::Admin ruby class. def admin @shell.hbase_admin end @@ -79,9 +82,9 @@ module Shell end #---------------------------------------------------------------------- - + # Creates formatter instance first time and then reuses it. def formatter - @shell.formatter + @formatter ||= ::Shell::Formatter::Console.new end def format_simple_command diff --git a/hbase-shell/src/test/ruby/hbase/admin_test.rb b/hbase-shell/src/test/ruby/hbase/admin_test.rb index 330ec2e9375..4a70b562ef8 100644 --- a/hbase-shell/src/test/ruby/hbase/admin_test.rb +++ b/hbase-shell/src/test/ruby/hbase/admin_test.rb @@ -18,7 +18,6 @@ # require 'shell' -require 'shell/formatter' require 'stringio' require 'hbase' require 'hbase/hbase' diff --git a/hbase-shell/src/test/ruby/hbase/hbase_test.rb b/hbase-shell/src/test/ruby/hbase/hbase_test.rb index 185ec3e3332..b59f419955e 100644 --- a/hbase-shell/src/test/ruby/hbase/hbase_test.rb +++ b/hbase-shell/src/test/ruby/hbase/hbase_test.rb @@ -22,7 +22,6 @@ require 'hbase' module Hbase class HbaseTest < Test::Unit::TestCase def setup - @formatter = Shell::Formatter::Console.new() @hbase = ::Hbase::Hbase.new($TEST_CLUSTER.getConfiguration) end @@ -31,19 +30,19 @@ module Hbase end define_test "Hbase::Hbase#admin should create a new admin object when called the first time" do - assert_kind_of(::Hbase::Admin, @hbase.admin(@formatter)) + assert_kind_of(::Hbase::Admin, @hbase.admin()) end define_test "Hbase::Hbase#admin should create a new admin object every call" do - assert_not_same(@hbase.admin(@formatter), @hbase.admin(@formatter)) + assert_not_same(@hbase.admin(), @hbase.admin()) end define_test "Hbase::Hbase#table should create a new table object when called the first time" do - assert_kind_of(::Hbase::Table, @hbase.table('hbase:meta', @formatter)) + assert_kind_of(::Hbase::Table, @hbase.table('hbase:meta', @shell)) end define_test "Hbase::Hbase#table should create a new table object every call" do - assert_not_same(@hbase.table('hbase:meta', @formatter), @hbase.table('hbase:meta', @formatter)) + assert_not_same(@hbase.table('hbase:meta', @shell), @hbase.table('hbase:meta', @shell)) end end end diff --git a/hbase-shell/src/test/ruby/hbase/replication_admin_test.rb b/hbase-shell/src/test/ruby/hbase/replication_admin_test.rb index 6edb447a887..ac088edacfa 100644 --- a/hbase-shell/src/test/ruby/hbase/replication_admin_test.rb +++ b/hbase-shell/src/test/ruby/hbase/replication_admin_test.rb @@ -18,7 +18,6 @@ # require 'shell' -require 'shell/formatter' require 'hbase' require 'hbase/hbase' require 'hbase/table' diff --git a/hbase-shell/src/test/ruby/hbase/security_admin_test.rb b/hbase-shell/src/test/ruby/hbase/security_admin_test.rb index 6ecfb98f3aa..c475e94b8be 100644 --- a/hbase-shell/src/test/ruby/hbase/security_admin_test.rb +++ b/hbase-shell/src/test/ruby/hbase/security_admin_test.rb @@ -18,7 +18,6 @@ # require 'shell' -require 'shell/formatter' require 'hbase' require 'hbase/hbase' require 'hbase/table' diff --git a/hbase-shell/src/test/ruby/hbase/visibility_labels_admin_test.rb b/hbase-shell/src/test/ruby/hbase/visibility_labels_admin_test.rb index 47ac292d148..ca906b244c3 100644 --- a/hbase-shell/src/test/ruby/hbase/visibility_labels_admin_test.rb +++ b/hbase-shell/src/test/ruby/hbase/visibility_labels_admin_test.rb @@ -18,7 +18,6 @@ # require 'shell' -require 'shell/formatter' require 'hbase' require 'hbase/hbase' require 'hbase/table' diff --git a/hbase-shell/src/test/ruby/shell/noninteractive_test.rb b/hbase-shell/src/test/ruby/shell/noninteractive_test.rb index 14bdbc79336..65c0dad5ad6 100644 --- a/hbase-shell/src/test/ruby/shell/noninteractive_test.rb +++ b/hbase-shell/src/test/ruby/shell/noninteractive_test.rb @@ -16,13 +16,11 @@ # require 'hbase' require 'shell' -require 'shell/formatter' class NonInteractiveTest < Test::Unit::TestCase def setup - @formatter = ::Shell::Formatter::Console.new() @hbase = ::Hbase::Hbase.new($TEST_CLUSTER.getConfiguration) - @shell = Shell::Shell.new(@hbase, @formatter, false) + @shell = Shell::Shell.new(@hbase, false) end define_test "Shell::Shell noninteractive mode should throw" do diff --git a/hbase-shell/src/test/ruby/shell/shell_test.rb b/hbase-shell/src/test/ruby/shell/shell_test.rb index 56b7dc81286..689a18bd55b 100644 --- a/hbase-shell/src/test/ruby/shell/shell_test.rb +++ b/hbase-shell/src/test/ruby/shell/shell_test.rb @@ -19,13 +19,11 @@ require 'hbase' require 'shell' -require 'shell/formatter' class ShellTest < Test::Unit::TestCase def setup - @formatter = ::Shell::Formatter::Console.new() @hbase = ::Hbase::Hbase.new($TEST_CLUSTER.getConfiguration) - @shell = Shell::Shell.new(@hbase, @formatter) + @shell = Shell::Shell.new(@hbase) end define_test "Shell::Shell#hbase_admin should return an admin instance" do diff --git a/hbase-shell/src/test/ruby/test_helper.rb b/hbase-shell/src/test/ruby/test_helper.rb index 31144153ab0..179ee5bed48 100644 --- a/hbase-shell/src/test/ruby/test_helper.rb +++ b/hbase-shell/src/test/ruby/test_helper.rb @@ -40,12 +40,10 @@ module Hbase require 'hbase' require 'hbase/hbase' require 'shell' - require 'shell/formatter' def setup_hbase - formatter = ::Shell::Formatter::Console.new hbase = ::Hbase::Hbase.new($TEST_CLUSTER.getConfiguration) - @shell = ::Shell::Shell.new(hbase, formatter) + @shell = ::Shell::Shell.new(hbase) end def shutdown @@ -72,6 +70,10 @@ module Hbase @shell.hbase_visibility_labels_admin end + def quotas_admin + @shell.hbase_quotas_admin + end + def replication_admin @shell.hbase_replication_admin end