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