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