hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nitay Joffe (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-1762) Remove concept of ZooKeeper from HConnection interface
Date Wed, 12 Aug 2009 18:19:14 GMT

    [ 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:

 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

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.

View raw message