You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Geoffrey Jacoby (Jira)" <ji...@apache.org> on 2021/08/03 22:13:00 UTC
[jira] [Comment Edited] (HBASE-26158) MiniZooKeeperCluster should
not be IA.Public
[ https://issues.apache.org/jira/browse/HBASE-26158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17392569#comment-17392569 ]
Geoffrey Jacoby edited comment on HBASE-26158 at 8/3/21, 10:12 PM:
-------------------------------------------------------------------
I agree the curator version compatibility is a big issue here too. There's a curator.version in the HBase pom.xml, but it only seems to be used for a coproc example. There's little to no guidance to end users about what version of curator are compatible with what versions of HBase.
Again, I think [~zhangduo] makes a good point that with a publicly available ZK minicluster, the MiniZookeeperCluster may no longer be necessary. It's working fine both internally and externally, so I don't feel strongly that it needs to go, but I wouldn't mind if it did -- so long as it was deprecated both externally AND internally, via the usual deprecation method.
I believe that would be, in HBase 3.0:
1. Take on curator-test as a formal dependency of HBase. This requires figuring out which version to use, excluding conflicting transitive dependencies, etc
2. Probably shade it into hbase-thirdparty?
3. Do HBASE-26167 to allow for overriding ZK with an external embedded ZK quorum.
4. Switch TestingHBaseCluster and HBTU to use curator-test by default
5. Fix any HBase tests that break because of this effort
6. Fix any bugs found in curator-test because of this effort
7. Deprecate the MiniZookeeperCluster and the methods in HBTU that reference it (but still support them during the 3.x cycle).
In HBase 4.0:
1. Delete the MiniZookeeperCluster and the methods in HBTU that reference it.
At this point, HBase will have offloaded its embedded ZK onto a ZK-based project, similarly to how MiniDFSCluster is I believe part of HDFS. Which would be good.
On the other hand, if that sounds like a lot of work compared to the benefit...please remember that that aside from HBASE-26167 and the actual deprecation JIRA, that's almost the same work you're asking end-users to do.
was (Author: gjacoby):
I agree the curator version compatibility is a big issue here too. There's a curator.version in the HBase pom.xml, but it only seems to be used for a coproc example. There's little to no guidance to end users about what version of curator are compatible with what versions of HBase.
Again, I think [~zhangduo] makes a good point that with a publicly available ZK minicluster, the MiniZookeeperCluster may no longer be necessary. It's working fine both internally and externally, so I don't feel strongly that it needs to go, but I wouldn't mind if it did -- so long as it was deprecated both externally AND internally, via the usual deprecation method.
I believe that would be, in HBase 3.0:
1. Take on curator-test as a formal dependency of HBase. This requires figuring out which version to use, excluding conflicting transitive dependencies, etc
2. Probably shade it into hbase-thirdparty?
3. Do HBASE-26167 to allow for overriding ZK with an external embedded ZK quorum.
4. Switch TestingHBaseCluster and HBTU to use curator-test by default
5. Fix any HBase tests that break because of this effort
6. Fix any bugs found in curator-test because of this effort
5. Deprecate the MiniZookeeperCluster and the methods in HBTU that reference it (but still support them during the 3.x cycle).
In HBase 4.0:
1. Delete the MiniZookeeperCluster and the methods in HBTU that reference it.
At this point, HBase will have offloaded its embedded ZK onto a ZK-based project, similarly to how MiniDFSCluster is I believe part of HDFS. Which would be good.
On the other hand, if that sounds like a lot of work compared to the benefit...please remember that that aside from HBASE-26167 and the actual deprecation JIRA, that's almost the same work you're asking end-users to do.
> 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)