[ 
https://issues.apache.org/jira/browse/HBASE-26158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17402786#comment-17402786
 ] 

Duo Zhang commented on HBASE-26158:
-----------------------------------

On the home page of Apache HBase, we say that

{quote}
Apache HBase™ is the Hadoop database, a distributed, scalable, big data store.

Use Apache HBase™ when you need random, realtime read/write access to your Big 
Data. This project's goal is the hosting of very large tables -- billions of 
rows X millions of columns -- atop clusters of commodity hardware. Apache HBase 
is an open-source, distributed, versioned, non-relational database modeled 
after Google's Bigtable: A Distributed Storage System for Structured Data by 
Chang et al. Just as Bigtable leverages the distributed data storage provided 
by the Google File System, Apache HBase provides Bigtable-like capabilities on 
top of Hadoop and HDFS.
{quote}

So I do not think this is just what I dislike on something, it is the common 
sense of the HBase community.

And on the harm in real world, there was an example in the past, when someone 
wanted to introduce a StartMiniClusterOption so we do not need to keep so many 
methods in HBTU. But since HBTU was IA.Public, we could not remove these 
methods, so it was really a pain that, we wanted to clean up HBTU, but finally 
the result was we have more methods in HBTU...

But looking at MiniZooKeeperCluster, the interface has always been stable. The 
latest interface change is adding a new getAddress method, in this commit

https://github.com/apache/hbase/commit/3e1cf00c71ed3071fb8dc1a76c2b0e4c040ce16d#diff-94e247ecfdb233ed01ad9550f54bd169952a3583afe5656ace43169f7a952783

It is about one and half years ago. So I agree with you that, the real world 
harm for keeping MiniZooKeeperCluster IA.Public is small, at least for now.

Due to this fact, I think for now maybe we could still leave is as is, as it 
does not block other works on changing HBTU to IA.Private. Later if we have 
requirements where we want to change the interface or the behavior of this 
class, we could go back here and discuss again.

WDYT? Thanks.

> 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)

Reply via email to