Skip to content

HBASE-23324 Deprecate clients that connect to Zookeeper - #5745

Merged
ndimiduk merged 1 commit into
apache:masterfrom
ndimiduk:23324-deprecate-zkconnectionregistry-master
Mar 7, 2024
Merged

HBASE-23324 Deprecate clients that connect to Zookeeper#5745
ndimiduk merged 1 commit into
apache:masterfrom
ndimiduk:23324-deprecate-zkconnectionregistry-master

Conversation

@ndimiduk

Copy link
Copy Markdown
Member

Our objective is to remove ZooKeeper from our public interface, remaking it as an internal concern. Connecting to a cluster via ZooKeeper quorum will be considered deprecated starting in 2.6. Our default connection mechanism will switch to via RPC in 3.0 And finally we intend to remove the ZooKeeper connection mechanism from client-facing APIs in 4.0.


@Deprecated
@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CONFIG)
class ZKConnectionRegistry extends ZKConnectionRegistryInternal {

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The diff isn't rendering well, but I renamed the existing ZKConnectionRegistry to ZKConnectionRegistryInternal and then created the new class named ZKConnectionRegistry that subclasses and adds the warning.

@stotystotyMar 6, 2024

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is that we can remove this class, but keep the internal one if we want to in 4.0, right ?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct. HMaster and RegionServers will continue to use the ZKConnectionRegistry. Once the public version is removed, we can do as we like with the internal version, such as move it to hbase-server.jar.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think in 3.0.0, HMaster and HRegionServer also uses RpcConnectionRegistry?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think in 3.0.0, HMaster and HRegionServer also uses RpcConnectionRegistry?

Having read through the details of ShortCircuitConnectionRegistry, I now believe that you are correct. Nice!

So then this rename and Internal stuff is irrelevant -- we can drop the ZKConnectionRegistry entirely. WDYT?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me I prefer we remove it entirely, in 4.0.0.

Comment threadhbase-common/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java Outdated
@ndimiduk
ndimidukforce-pushed the 23324-deprecate-zkconnectionregistry-master branch from 1e0c9d0 to db8c3fbCompareMarch 6, 2024 11:11
@ndimiduk
ndimiduk requested a review from Apache9March 6, 2024 11:15
@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@ndimiduk
ndimidukforce-pushed the 23324-deprecate-zkconnectionregistry-master branch from db8c3fb to ec6004aCompareMarch 6, 2024 12:49
@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

FYI @stoty

Comment threadhbase-common/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java Outdated
@ndimiduk
ndimidukforce-pushed the 23324-deprecate-zkconnectionregistry-master branch from ec6004a to 9caad86CompareMarch 7, 2024 09:59
@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

Our objective is to remove ZooKeeper from our public interface, remaking it as an internal
concern. Connecting to a cluster via ZooKeeper quorum will be considered deprecated starting in
2.6. Our default connection mechanism will switch to via RPC in 3.0 And finally we intend to
remove the ZooKeeper connection mechanism from client-facing APIs in 4.0.
@ndimiduk
ndimidukforce-pushed the 23324-deprecate-zkconnectionregistry-master branch from 9caad86 to 1e922ceCompareMarch 7, 2024 14:07
@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 36sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 55smaster passed
+1 💚compile0m 21smaster passed
+1 💚shadedjars5m 16sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 19smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 49sthe patch passed
+1 💚compile0m 21sthe patch passed
+1 💚javac0m 21sthe patch passed
+1 💚shadedjars5m 13spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 18sthe patch passed
_ Other Tests _
+1 💚unit1m 30shbase-client in the patch passed.
20m 39s
SubsystemReport/Notes
DockerClientAPI=1.44 ServerAPI=1.44 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5745
Optional Testsjavac javadoc unit shadedjars compile
unameLinux ad8b232edf16 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 91354a0
Default JavaEclipse Adoptium-11.0.17+8
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/testReport/
Max. process+thread count283 (vs. ulimit of 30000)
modulesC: hbase-client U: hbase-client
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 52sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall4m 26smaster passed
+1 💚compile0m 31smaster passed
+1 💚shadedjars7m 4sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 23smaster passed
_ Patch Compile Tests _
+1 💚mvninstall4m 8sthe patch passed
+1 💚compile0m 32sthe patch passed
+1 💚javac0m 32sthe patch passed
+1 💚shadedjars7m 39spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 26sthe patch passed
_ Other Tests _
+1 💚unit2m 18shbase-client in the patch passed.
29m 29s
SubsystemReport/Notes
DockerClientAPI=1.44 ServerAPI=1.44 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR#5745
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 0b12765de283 5.4.0-172-generic #190-Ubuntu SMP Fri Feb 2 23:24:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 91354a0
Default JavaEclipse Adoptium-17.0.10+7
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/testReport/
Max. process+thread count317 (vs. ulimit of 30000)
modulesC: hbase-client U: hbase-client
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 51sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall4m 34smaster passed
+1 💚compile0m 34smaster passed
+1 💚shadedjars7m 48sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 28smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 51sthe patch passed
+1 💚compile0m 30sthe patch passed
+1 💚javac0m 30sthe patch passed
+1 💚shadedjars8m 4spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 22sthe patch passed
_ Other Tests _
+1 💚unit1m 45shbase-client in the patch passed.
29m 54s
SubsystemReport/Notes
DockerClientAPI=1.44 ServerAPI=1.44 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5745
Optional Testsjavac javadoc unit shadedjars compile
unameLinux a113c6573118 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 91354a0
Default JavaTemurin-1.8.0_352-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/testReport/
Max. process+thread count298 (vs. ulimit of 30000)
modulesC: hbase-client U: hbase-client
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 48sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall3m 58smaster passed
+1 💚compile0m 56smaster passed
+1 💚checkstyle0m 19smaster passed
+1 💚spotless0m 57sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 13smaster passed
_ Patch Compile Tests _
+1 💚mvninstall4m 26sthe patch passed
+1 💚compile1m 4sthe patch passed
-0 ⚠️javac1m 4shbase-client generated 1 new + 34 unchanged - 0 fixed = 35 total (was 34)
+1 💚checkstyle0m 24sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck7m 4sPatch does not cause any errors with Hadoop 3.3.6.
+1 💚spotless0m 57spatch has no errors when running spotless:check.
+1 💚spotbugs1m 24sthe patch passed
_ Other Tests _
+1 💚asflicense0m 13sThe patch does not generate ASF License warnings.
32m 40s
SubsystemReport/Notes
DockerClientAPI=1.44 ServerAPI=1.44 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5745
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 3b621e76dfd6 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 91354a0
Default JavaEclipse Adoptium-11.0.17+8
javachttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/artifact/yetus-general-check/output/diff-compile-javac-hbase-client.txt
Max. process+thread count79 (vs. ulimit of 30000)
modulesC: hbase-client U: hbase-client
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5745/5/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@ndimiduk
ndimiduk merged commit 936d267 into apache:masterMar 7, 2024
@ndimiduk
ndimiduk deleted the 23324-deprecate-zkconnectionregistry-master branch March 7, 2024 17:33
ndimiduk added a commit to ndimiduk/hbase that referenced this pull request Mar 7, 2024
Our objective is to remove ZooKeeper from our public interface, remaking it as an internal
concern. Connecting to a cluster via ZooKeeper quorum will be considered deprecated starting in
2.6. Our default connection mechanism will switch to via RPC in 3.0 And finally we intend to
remove the ZooKeeper connection mechanism from client-facing APIs in 4.0.
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
ndimiduk added a commit to ndimiduk/hbase that referenced this pull request Mar 7, 2024
Our objective is to remove ZooKeeper from our public interface, remaking it as an internal
concern. Connecting to a cluster via ZooKeeper quorum will be considered deprecated starting in
2.6. Our default connection mechanism will switch to via RPC in 3.0 And finally we intend to
remove the ZooKeeper connection mechanism from client-facing APIs in 4.0.
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
ndimiduk added a commit to ndimiduk/hbase that referenced this pull request Mar 7, 2024
Our objective is to remove ZooKeeper from our public interface, remaking it as an internal
concern. Connecting to a cluster via ZooKeeper quorum will be considered deprecated starting in
2.6. Our default connection mechanism will switch to via RPC in 3.0 And finally we intend to
remove the ZooKeeper connection mechanism from client-facing APIs in 4.0.
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
ndimiduk added a commit that referenced this pull request Mar 7, 2024
Our objective is to remove ZooKeeper from our public interface, remaking it as an internal
concern. Connecting to a cluster via ZooKeeper quorum will be considered deprecated starting in
2.6. Our default connection mechanism will switch to via RPC in 3.0 And finally we intend to
remove the ZooKeeper connection mechanism from client-facing APIs in 4.0.
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
ndimiduk added a commit that referenced this pull request Mar 7, 2024
Our objective is to remove ZooKeeper from our public interface, remaking it as an internal
concern. Connecting to a cluster via ZooKeeper quorum will be considered deprecated starting in
2.6. Our default connection mechanism will switch to via RPC in 3.0 And finally we intend to
remove the ZooKeeper connection mechanism from client-facing APIs in 4.0.
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
ndimiduk added a commit that referenced this pull request Mar 7, 2024
Our objective is to remove ZooKeeper from our public interface, remaking it as an internal
concern. Connecting to a cluster via ZooKeeper quorum will be considered deprecated starting in
2.6. Our default connection mechanism will switch to via RPC in 3.0 And finally we intend to
remove the ZooKeeper connection mechanism from client-facing APIs in 4.0.
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@ndimiduk@Apache-HBase@bbeaudreault@stoty@Apache9