[ https://issues.apache.org/jira/browse/HBASE-26158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17392297#comment-17392297 ]
Duo Zhang commented on HBASE-26158: ----------------------------------- The project name tells everything, we are ‘HBase’, not ‘Zookeeper’, and on your problem, if it is something about how to config HBase to make use of an external zookeeper, then it certainly should be asked in HBase community. If you ask something about the TestingServer itself, then you should ask the curator community. IMO, if you ask something about MiniZookeeperCluster in the HBase community, you will likely get an answer about just use TestingServer in curator. On why MiniZookeeperCluster is IA.Public, it is easy, HBTU is public in the past, so in general all the related things you can get from HBTU should be IA.Public, and finally we found that this is not the correct way, this is why we have the parent issue here. And on the changing of the existing testing code, we can copy the code to HBase-testing-util module and keep it for the whole 3.x, so you have plenty of time to change you code. And finally, you can use IA.Private class in HBase, no one can stop you, just like what we have done in HBase to implement AsyncWAL, we used a lot of internal classes in Hadoop. Just take your own risk. And I really do not see any problems that we have our own internal test way while providing another way for end users. We need to test internal of HBase, so we need to expose lots of internal stuff in our own testing framework, but I do not think we need to expose this to end users, and end users should not rely on this. Maybe in the future we may change some internal implementations and lots of UTs are not useful any more, but since the we have exposed the internal stuff in HBTU then we can not change our code? That’s really painful. But if we changed HBTU in this way, or just keep the interface the same but the behavior is completely changed, then what is the idfference between marking it IA.Public and IA.Private? > MiniZooKeeperCluster should not be IA.Public > -------------------------------------------- > > Key: HBASE-26158 > URL: https://issues.apache.org/jira/browse/HBASE-26158 > Project: HBase > Issue Type: Sub-task > Components: API, test > Reporter: Duo Zhang > Priority: Major > > End users do not need to test HBase when zookeeper is broken. And if users > want to start only a zookeeper cluster, they can just use curator-test, so I > do not think we should expose this class as IA.Public. -- This message was sent by Atlassian Jira (v8.3.4#803005)