From 0ff1418b32fc490993e20c51ff85879d2406ea75 Mon Sep 17 00:00:00 2001 From: tedyu Date: Thu, 26 Feb 2015 21:59:20 -0800 Subject: [PATCH] HBASE-13112 quota.rb, security.rb and visibility_labels.rb leak connection (Ashish Singhi) --- hbase-shell/src/main/ruby/hbase/hbase.rb | 4 ++-- hbase-shell/src/main/ruby/hbase/security.rb | 11 +++++++---- .../src/main/ruby/hbase/visibility_labels.rb | 13 +++++++------ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/hbase-shell/src/main/ruby/hbase/hbase.rb b/hbase-shell/src/main/ruby/hbase/hbase.rb index ca3e90c8a42..89700a486b4 100644 --- a/hbase-shell/src/main/ruby/hbase/hbase.rb +++ b/hbase-shell/src/main/ruby/hbase/hbase.rb @@ -56,11 +56,11 @@ module Hbase end def security_admin(formatter) - ::Hbase::SecurityAdmin.new(configuration, formatter) + ::Hbase::SecurityAdmin.new(@connection.getAdmin, formatter) end def visibility_labels_admin(formatter) - ::Hbase::VisibilityLabelsAdmin.new(configuration, formatter) + ::Hbase::VisibilityLabelsAdmin.new(@connection.getAdmin, formatter) end def shutdown diff --git a/hbase-shell/src/main/ruby/hbase/security.rb b/hbase-shell/src/main/ruby/hbase/security.rb index 5262f4508cb..bfdd7330ff3 100644 --- a/hbase-shell/src/main/ruby/hbase/security.rb +++ b/hbase-shell/src/main/ruby/hbase/security.rb @@ -24,13 +24,16 @@ module Hbase class SecurityAdmin include HBaseConstants - def initialize(configuration, formatter) - @config = configuration - @connection = org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(@config) - @admin = @connection.getAdmin() + def initialize(admin, formatter) + @admin = admin + @config = @admin.getConfiguration() @formatter = formatter end + def close + @admin.close + end + #---------------------------------------------------------------------------------------------- def grant(user, permissions, table_name=nil, family=nil, qualifier=nil) security_available? diff --git a/hbase-shell/src/main/ruby/hbase/visibility_labels.rb b/hbase-shell/src/main/ruby/hbase/visibility_labels.rb index 61a49e81332..a3f8b1a3364 100644 --- a/hbase-shell/src/main/ruby/hbase/visibility_labels.rb +++ b/hbase-shell/src/main/ruby/hbase/visibility_labels.rb @@ -24,13 +24,14 @@ java_import org.apache.hadoop.hbase.util.Bytes module Hbase class VisibilityLabelsAdmin - def initialize(configuration, formatter) - @config = configuration + def initialize(admin, formatter) + @admin = admin + @config = @admin.getConfiguration() @formatter = formatter - - # @connection = org.apache.hadoop.hbase.client.ConnectionFactory(configuration) - # @admin = @connection.getAdmin() - @admin = org.apache.hadoop.hbase.client.HBaseAdmin.new(configuration) + end + + def close + @admin.close end def add_labels(*args)