You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Nitay Joffe (JIRA)" <ji...@apache.org> on 2009/08/12 20:19:14 UTC
[jira] Commented: (HBASE-1762) Remove concept of ZooKeeper from
HConnection interface
[ 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.