Skip to content

TEZ-4749: Support SSL/TLS connections to ZooKeeper in ZkAMRegistry and ZkAMRegistryClient - #532

Open
g3rg0 wants to merge 8 commits into
apache:masterfrom
g3rg0:TEZ-4749
Open

TEZ-4749: Support SSL/TLS connections to ZooKeeper in ZkAMRegistry and ZkAMRegistryClient#532
g3rg0 wants to merge 8 commits into
apache:masterfrom
g3rg0:TEZ-4749

Conversation

@g3rg0

@g3rg0g3rg0 commented Aug 10, 2026

Copy link
Copy Markdown

Add explicit per-connection SSL/TLS configuration for Tez's ZooKeeper connections, removing the need to rely on JVM-wide system properties.

  • New configuration properties: tez.am.zookeeper.ssl.enable, keystore/truststore location and password
  • Uses Curator 5.x native zkClientConfig() with Netty-based client connection to configure SSL on the ZooKeeper client
  • When ssl.enable is "true", CuratorFramework is built with a secure ZKClientConfig; when "false", JVM-level secure properties are overridden to force insecure; when unset, existing JVM default behavior is preserved
  • Integration tests for secure/insecure ZK connections

…d ZkAMRegistryClient
Add explicit per-connection SSL/TLS configuration for Tez's ZooKeeper
connections, removing the need to rely on JVM-wide system properties.
- New configuration properties: tez.am.zookeeper.ssl.enable,
keystore/truststore location and password
- New SSLZookeeperFactory using Netty-based secure ZK client connection
- When ssl.enable is "true", CuratorFramework uses SSLZookeeperFactory;
when "false", JVM-level secure properties are overridden to force
insecure; when unset, existing JVM default behavior is preserved
- Integration tests for secure/insecure ZK connections
@tez-yetus

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec8m 32sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗detsecrets0m 0sdetect-secrets was not available.
+0 🆗xmllint0m 0sxmllint was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 2 new or modified test files.
_ master Compile Tests _
+0 🆗mvndep0m 32sMaven dependency ordering for branch
+1 💚mvninstall4m 49smaster passed
+1 💚compile4m 1smaster passed
+1 💚checkstyle0m 59smaster passed
+1 💚javadoc1m 9smaster passed
+0 🆗spotbugs1m 23stez-api in master has 92 extant spotbugs warnings.
+0 🆗spotbugs0m 51stez-tests in master has 6 extant spotbugs warnings.
_ Patch Compile Tests _
+0 🆗mvndep0m 9sMaven dependency ordering for patch
+1 💚mvninstall4m 0sthe patch passed
+1 💚codespell1m 47sNo new issues.
+1 💚compile3m 59sthe patch passed
+1 💚javac3m 59sthe patch passed
+1 💚blanks0m 0sThe patch has no blanks issues.
-0 ⚠️checkstyle0m 28s/results-checkstyle-tez-api.txttez-api: The patch generated 5 new + 35 unchanged - 0 fixed = 40 total (was 35)
-0 ⚠️checkstyle0m 28s/results-checkstyle-tez-tests.txttez-tests: The patch generated 12 new + 0 unchanged - 0 fixed = 12 total (was 0)
+1 💚javadoc1m 7sthe patch passed
-1 ❌spotbugs1m 35s/new-spotbugs-tez-api.htmltez-api generated 1 new + 92 unchanged - 0 fixed = 93 total (was 92)
_ Other Tests _
+1 💚unit74m 15sroot in the patch passed.
+1 💚asflicense0m 58sThe patch does not generate ASF License warnings.
114m 9s
ReasonTests
SpotBugsmodule:tez-api
org.apache.tez.client.registry.zookeeper.ZkConfig.isSslEnabled() has Boolean return type and returns explicit null At ZkConfig.java:and returns explicit null At ZkConfig.java:[line 146]
SubsystemReport/Notes
DockerClientAPI=1.55 ServerAPI=1.55 base: https://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/1/artifact/out/Dockerfile
Optional Testsdupname compile unit asflicense javac javadoc spotbugs checkstyle codespell detsecrets xmllint
unameLinux 0eb3c2206632 5.15.0-185-generic #195-Ubuntu SMP Fri Jun 19 17:11:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitytez-personality.sh
git revisionmaster / d348bf1
Default JavaEclipse Adoptium-21.0.11+10-LTS
Test Resultshttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/1/testReport/
Max. process+thread count1350 (vs. ulimit of 5500)
modulesC: tez-api tez-tests U: .
Console outputhttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/1/console
versionsgit=2.43.0 maven=3.9.15 spotbugs=4.9.3 codespell=2.4.1
Powered byApache Yetus 0.15.1 https://yetus.apache.org

This message was automatically generated.

Gergely Farkas added 3 commits August 10, 2026 16:37
- Expand single-line getter methods to multi-line (LeftCurly)
- Rename parameter in isValidSslEnabledValue to avoid field shadowing (HiddenField)
- Rename TEST_ROOT_DIR to testRootDir (StaticVariableName)
- Fix indentation of ImmutableMap.of arguments (Indentation)
- Break long AMRecord constructor line (LineLength > 120)
- Add period to Javadoc first sentence (JavadocStyle)
…indbugs check
The method intentionally returns null to indicate "not configured",
distinguishing it from explicit true/false.
@tez-yetus

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 32sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗detsecrets0m 0sdetect-secrets was not available.
+0 🆗xmllint0m 0sxmllint was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 2 new or modified test files.
_ master Compile Tests _
+0 🆗mvndep0m 35sMaven dependency ordering for branch
+1 💚mvninstall4m 51smaster passed
+1 💚compile3m 57smaster passed
+1 💚checkstyle0m 59smaster passed
+1 💚javadoc1m 8smaster passed
+0 🆗spotbugs1m 25stez-api in master has 92 extant spotbugs warnings.
+0 🆗spotbugs0m 50stez-tests in master has 6 extant spotbugs warnings.
_ Patch Compile Tests _
+0 🆗mvndep0m 9sMaven dependency ordering for patch
+1 💚mvninstall4m 2sthe patch passed
+1 💚codespell1m 48sNo new issues.
+1 💚compile3m 58sthe patch passed
+1 💚javac3m 58sthe patch passed
+1 💚blanks0m 0sThe patch has no blanks issues.
+1 💚checkstyle0m 55sthe patch passed
+1 💚javadoc1m 6sthe patch passed
+1 💚spotbugs2m 36sthe patch passed
_ Other Tests _
+1 💚unit72m 50sroot in the patch passed.
+1 💚asflicense0m 57sThe patch does not generate ASF License warnings.
104m 46s
SubsystemReport/Notes
DockerClientAPI=1.55 ServerAPI=1.55 base: https://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/2/artifact/out/Dockerfile
Optional Testsdupname compile unit asflicense codespell detsecrets xmllint javac javadoc spotbugs checkstyle
unameLinux 2e674b99b72f 5.15.0-185-generic #195-Ubuntu SMP Fri Jun 19 17:11:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitytez-personality.sh
git revisionmaster / d348bf1
Default JavaEclipse Adoptium-21.0.11+10-LTS
Test Resultshttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/2/testReport/
Max. process+thread count1341 (vs. ulimit of 5500)
modulesC: tez-api tez-tests U: .
Console outputhttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/2/console
versionsgit=2.43.0 maven=3.9.15 spotbugs=4.9.3 codespell=2.4.1
Powered byApache Yetus 0.15.1 https://yetus.apache.org

This message was automatically generated.

);
if (isSslEnabled() == null) {
return CuratorFrameworkFactory.newClient(
getZkQuorum(),

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.

Why not use the built-in .zkClientConfig() method provided by Curator 5.x? It provides native support for managing these SSL properties. SSLZookeeperFactory.java can we entirely removed and just configure it inline inside ZkConfig.java like this:

ZKClientConfigzkClientConfig = newZKClientConfig();
zkClientConfig.setProperty(ZKClientConfig.SECURE_CLIENT, "true");
.....
.....
returnCuratorFrameworkFactory.builder()
.connectString(getZkQuorum())
// ... other settings ...
.zkClientConfig(zkClientConfig) // Built-in Curator support
.build();

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Makes sense. I've added a commit that removed SSLZookeeperFactory.java and uses the build-in curator config.

Comment threadtez-api/findbugs-exclude.xml Outdated
<!-- TEZ-4749 -->
<Match>
<Class name="org.apache.tez.client.registry.zookeeper.ZkConfig" />
<Method name="isSslEnabled" />

@Aggarwal-RaghavAggarwal-RaghavAug 11, 2026

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 NULL check , updating spotbugs configs seems overkill, can't we use java OPTIONAL ?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

It works with Optional, too. I've added a commit with this change.

Gergely Farkas added 2 commits August 12, 2026 11:24
…f nullable Boolean
Replace nullable Boolean return with Optional<Boolean> to avoid the
NP_BOOLEAN_RETURN_NULL spotbugs warning without needing a findbugs
exclusion. Revert the findbugs-exclude.xml entry added previously.
…ookeeperFactory
Replace SSLZookeeperFactory with Curator's built-in .zkClientConfig()
builder method. The ZKClientConfig with SSL properties is now configured
inline in ZkConfig.createCuratorFramework(), eliminating the need for a
separate factory class.
@tez-yetus

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 31sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗detsecrets0m 0sdetect-secrets was not available.
+0 🆗xmllint0m 0sxmllint was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 2 new or modified test files.
_ master Compile Tests _
+0 🆗mvndep0m 34sMaven dependency ordering for branch
+1 💚mvninstall4m 48smaster passed
+1 💚compile3m 59smaster passed
+1 💚checkstyle0m 59smaster passed
+1 💚javadoc1m 8smaster passed
+0 🆗spotbugs1m 24stez-api in master has 92 extant spotbugs warnings.
+0 🆗spotbugs0m 51stez-tests in master has 6 extant spotbugs warnings.
_ Patch Compile Tests _
+0 🆗mvndep0m 9sMaven dependency ordering for patch
+1 💚mvninstall4m 7sthe patch passed
+1 💚codespell1m 48sNo new issues.
+1 💚compile3m 57sthe patch passed
+1 💚javac3m 57sthe patch passed
+1 💚blanks0m 0sThe patch has no blanks issues.
+1 💚checkstyle0m 55sthe patch passed
+1 💚javadoc1m 7sthe patch passed
+1 💚spotbugs2m 36sthe patch passed
_ Other Tests _
+1 💚unit75m 15sroot in the patch passed.
+1 💚asflicense0m 56sThe patch does not generate ASF License warnings.
107m 7s
SubsystemReport/Notes
DockerClientAPI=1.55 ServerAPI=1.55 base: https://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/3/artifact/out/Dockerfile
Optional Testsdupname compile unit asflicense javac javadoc spotbugs checkstyle codespell detsecrets xmllint
unameLinux 9c592ae21426 5.15.0-185-generic #195-Ubuntu SMP Fri Jun 19 17:11:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitytez-personality.sh
git revisionmaster / d348bf1
Default JavaEclipse Adoptium-21.0.11+10-LTS
Test Resultshttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/3/testReport/
Max. process+thread count1457 (vs. ulimit of 5500)
modulesC: tez-api tez-tests U: .
Console outputhttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/3/console
versionsgit=2.43.0 maven=3.9.15 spotbugs=4.9.3 codespell=2.4.1
Powered byApache Yetus 0.15.1 https://yetus.apache.org

This message was automatically generated.

Comment threadtez-tests/pom.xml Outdated
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-test</artifactId>
<version>${curator.version}</version>

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.

nit: No need for version tag here as dependencyManagement handles that.

if (StringUtils.isEmpty(getZookeeperTrustStoreLocation())) {
LOG.warn("Missing trustStoreLocation parameter");
}
zkClientConfig.setProperty(x509Util.getSslKeystoreLocationProperty(), getZookeeperKeyStoreLocation());

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 above 2 if statements feel wrong. We are LOGGING the warning that parameters are missing and then continuing the use them in 2nd arg in setProperty. that can lead to excpetions like NPE or IllegalArgs.

Instead of lgging we should throw the exception there itself. Maybe IllegalArgException.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

If we throw an exception here, these parameters will become mandatory instead of optional.
The keystore is only needed if zookeeper is configured for mTLS authentication, so I think it should remain optional. The truststore, on the other hand, is also optional, because if the system truststore trusts the zookeeper TLS cert, then this configuration would be redundant.

How about something like this?

 if (isSslEnabled().get()) {
try (ClientX509Util x509Util = new ClientX509Util()) {
if (StringUtils.isNotEmpty(getZookeeperKeyStoreLocation())) {
zkClientConfig.setProperty(x509Util.getSslKeystoreLocationProperty(), getZookeeperKeyStoreLocation());
zkClientConfig.setProperty(x509Util.getSslKeystorePasswdProperty(), getZookeeperKeyStorePassword());
} else {
LOG.info("No keystore location configured, using ZooKeeper client defaults");
}
if (StringUtils.isNotEmpty(getZookeeperTrustStoreLocation())) {
zkClientConfig.setProperty(x509Util.getSslTruststoreLocationProperty(), getZookeeperTrustStoreLocation());
zkClientConfig.setProperty(x509Util.getSslTruststorePasswdProperty(), getZookeeperTrustStorePassword());
} else {
LOG.info("No truststore location configured, using ZooKeeper client defaults");
}
}
}

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.

these parameters will become mandatory instead of optional

thats correct, I missed that part. What you are proposing looks good, wondering if we need to put isNotEmpty check on password as well. Making it a too much if nested code :-) . As I'm not a committer to this project, I would request @abstractdog , for suggestions here. Based on that we can push again.

rest all changes are good.

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.

Your above solution, just small refactor

From e6ca2489dc5179e0b0cc9e3bc90385e78c31af62 Mon Sep 17 00:00:00 2001
From: Raghav Aggarwal <raghavaggarwal03.ra@gmail.com>
Date: Wed, 12 Aug 2026 23:56:47 +0530
Subject: [PATCH] TEZ-4749: Refactor
---
.../client/registry/zookeeper/ZkConfig.java | 31 ++++++++++++-------
tez-tests/pom.xml | 1 -
2 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/tez-api/src/main/java/org/apache/tez/client/registry/zookeeper/ZkConfig.java b/tez-api/src/main/java/org/apache/tez/client/registry/zookeeper/ZkConfig.java
index 7c3807c7c..cb8380e51 100644
--- a/tez-api/src/main/java/org/apache/tez/client/registry/zookeeper/ZkConfig.java+++ b/tez-api/src/main/java/org/apache/tez/client/registry/zookeeper/ZkConfig.java@@ -165,7 +165,7 @@ public class ZkConfig {
}
public CuratorFramework createCuratorFramework() {
- if (!isSslEnabled().isPresent()) {+ if (isSslEnabled().isEmpty()) {
return CuratorFrameworkFactory.newClient(
getZkQuorum(),
getSessionTimeoutMs(),
@@ -179,17 +179,13 @@ public class ZkConfig {
zkClientConfig.setProperty(ZKClientConfig.ZOOKEEPER_CLIENT_CNXN_SOCKET,
"org.apache.zookeeper.ClientCnxnSocketNetty");
if (isSslEnabled().get()) {
- ClientX509Util x509Util = new ClientX509Util();- if (StringUtils.isEmpty(getZookeeperKeyStoreLocation())) {- LOG.warn("Missing keystoreLocation parameter");+ try (ClientX509Util x509Util = new ClientX509Util()) {+ setStoreConfig(zkClientConfig, x509Util.getSslKeystoreLocationProperty(), getZookeeperKeyStoreLocation(),+ x509Util.getSslKeystorePasswdProperty(), getZookeeperKeyStorePassword(), "keystore");++ setStoreConfig(zkClientConfig, x509Util.getSslTruststoreLocationProperty(), getZookeeperTrustStoreLocation(),+ x509Util.getSslTruststorePasswdProperty(), getZookeeperTrustStorePassword(), "truststore");
}
- if (StringUtils.isEmpty(getZookeeperTrustStoreLocation())) {- LOG.warn("Missing trustStoreLocation parameter");- }- zkClientConfig.setProperty(x509Util.getSslKeystoreLocationProperty(), getZookeeperKeyStoreLocation());- zkClientConfig.setProperty(x509Util.getSslKeystorePasswdProperty(), getZookeeperKeyStorePassword());- zkClientConfig.setProperty(x509Util.getSslTruststoreLocationProperty(), getZookeeperTrustStoreLocation());- zkClientConfig.setProperty(x509Util.getSslTruststorePasswdProperty(), getZookeeperTrustStorePassword());
}
return CuratorFrameworkFactory.builder()
@@ -201,6 +197,19 @@ public class ZkConfig {
.build();
}
+ private void setStoreConfig(ZKClientConfig config, String locationProp, String locationVal, String passwordProp,+ String passwordVal, String storeName) {+ if (StringUtils.isEmpty(locationVal)) {+ LOG.info("No {} location configured, using ZooKeeper client defaults", storeName);+ return;+ }++ config.setProperty(locationProp, locationVal);+ if (StringUtils.isNotEmpty(passwordVal)) {+ config.setProperty(passwordProp, passwordVal);+ }+ }+
private boolean isValidSslEnabledValue(String value) {
return value == null || value.isEmpty()
|| value.trim().equalsIgnoreCase("true")
diff --git a/tez-tests/pom.xml b/tez-tests/pom.xml
index 3b76ed090..8920c17e6 100644
--- a/tez-tests/pom.xml+++ b/tez-tests/pom.xml@@ -136,7 +136,6 @@
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-test</artifactId>
- <version>${curator.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
-- 
2.55.0

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I added these. Thanks!

Gergely Farkas added 2 commits August 12, 2026 19:42
Version is already managed by dependencyManagement in the parent POM.
Extract setStoreConfig() helper to conditionally set keystore/truststore
properties only when a location is configured. Use try-with-resources
for ClientX509Util and Optional.isEmpty() for readability.
@Aggarwal-Raghav

Copy link
Copy Markdown
Contributor

LGTM +1, pending tests

@tez-yetus

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 31sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗detsecrets0m 1sdetect-secrets was not available.
+0 🆗xmllint0m 1sxmllint was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 2 new or modified test files.
_ master Compile Tests _
+0 🆗mvndep0m 35sMaven dependency ordering for branch
+1 💚mvninstall4m 51smaster passed
+1 💚compile4m 0smaster passed
+1 💚checkstyle1m 0smaster passed
+1 💚javadoc1m 8smaster passed
+0 🆗spotbugs1m 24stez-api in master has 92 extant spotbugs warnings.
+0 🆗spotbugs0m 51stez-tests in master has 6 extant spotbugs warnings.
_ Patch Compile Tests _
+0 🆗mvndep0m 9sMaven dependency ordering for patch
+1 💚mvninstall4m 3sthe patch passed
+1 💚codespell1m 49sNo new issues.
+1 💚compile3m 59sthe patch passed
+1 💚javac3m 59sthe patch passed
+1 💚blanks0m 0sThe patch has no blanks issues.
+1 💚checkstyle0m 54sthe patch passed
+1 💚javadoc1m 6sthe patch passed
+1 💚spotbugs2m 36sthe patch passed
_ Other Tests _
+1 💚unit73m 4sroot in the patch passed.
+1 💚asflicense0m 56sThe patch does not generate ASF License warnings.
105m 3s
SubsystemReport/Notes
DockerClientAPI=1.55 ServerAPI=1.55 base: https://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/4/artifact/out/Dockerfile
Optional Testsdupname compile unit asflicense javac javadoc spotbugs checkstyle codespell detsecrets xmllint
unameLinux 076f5578b3e1 5.15.0-185-generic #195-Ubuntu SMP Fri Jun 19 17:11:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitytez-personality.sh
git revisionmaster / d348bf1
Default JavaEclipse Adoptium-21.0.11+10-LTS
Test Resultshttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/4/testReport/
Max. process+thread count2110 (vs. ulimit of 5500)
modulesC: tez-api tez-tests U: .
Console outputhttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-532/4/console
versionsgit=2.43.0 maven=3.9.15 spotbugs=4.9.3 codespell=2.4.1
Powered byApache Yetus 0.15.1 https://yetus.apache.org

This message was automatically generated.

@abstractdogabstractdog left a comment

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.

left a few comments, basically nitpicking :)

public void testZkConfigSslDisabled() {
Configuration conf = new Configuration();
conf.set(TezConfiguration.TEZ_AM_ZOOKEEPER_QUORUM, "dummyZkQuorum");
conf.set(TezConfiguration.TEZ_AM_ZOOKEEPER_SSL_ENABLE, "False");

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.

"False" looks strange, even if it's by design, I would keep using "false", and create a separate test case to show valid values

zkServer.stop();
}

public void enableZookeeperSecureClientWithJVMProperties() {

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.

this can be private I think

// information registered in registry eventually reaches the registry client
AMRecord amRecordFetched = registryClient.getRecord(appId);
while (amRecordFetched == null) {
Thread.sleep(1000);

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.

this can be tightened to 500ms I believe for this scenario to lower the worst-case lost time for each test case

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.

4 participants

@g3rg0@tez-yetus@Aggarwal-Raghav@abstractdog