[ 
https://issues.apache.org/jira/browse/HBASE-1762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12742506#action_12742506
 ] 

Nitay Joffe commented on HBASE-1762:
------------------------------------

-1 on this particular patch. Ken, I think this is a great idea, and agree with 
your approach.

However, this code is used in other places, namely the shell. Take a look at 
HBase.rb:

{noformat}
 48   class Admin
 49     def initialize(configuration, formatter)
 50       @admin = HBaseAdmin.new(configuration)
 51       connection = @admin.getConnection()
 52       @zkWrapper = connection.getZooKeeperWrapper()
 53       zk = @zkWrapper.getZooKeeper()
 54       @zkMain = ZooKeeperMain.new(zk)
 55       @formatter = formatter
 56     end
{noformat}

If you can clean that part up too, I'd gladly accept your patch. Otherwise I 
think your current patch would break our shell.

Keep up the great work.

> Remove concept of ZooKeeper from HConnection interface
> ------------------------------------------------------
>
>                 Key: HBASE-1762
>                 URL: https://issues.apache.org/jira/browse/HBASE-1762
>             Project: Hadoop HBase
>          Issue Type: Improvement
>          Components: client
>    Affects Versions: 0.20.0
>            Reporter: Ken Weiner
>         Attachments: HBASE-1762.patch
>
>
> The concept of ZooKeeper is really an implementation detail and should not be 
> exposed in the {{HConnection}} interface.   Therefore, I suggest removing the 
> {{HConnection.getZooKeeperWrapper()}} method from the interface. 
> I couldn't find any uses of this method within the HBase code base except for 
> in one of the unit tests: {{org.apache.hadoop.hbase.TestZooKeeper}}.  This 
> unit test should be changed to instantiate the implementation of 
> {{HConnection}} directly, allowing it to use the {{getZooKeeperWrapper()}} 
> method.  This requires making 
> {{org.apache.hadoop.hbase.client.HConnectionManager.TableServers}} public.  
> (I actually think TableServers should be moved out into an outer class, but 
> in the spirit of small patches, I'll refrain from suggesting that in this 
> issue).
> I'll attach a patch for:
> # The removal of {{HConnection.getZooKeeperWrapper()}}
> # Change of {{TableServers}} class from private to public
> # Direct instantiation of {{TableServers}} within {{TestZooKeeper}}.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to