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