Browse Source

add maxWaitTime config when build zookeeper client (#3133)

* add maxWaitTime config when build zookeeper client

* throw exception when connect zk timeout

* use dedicated exception instead of a generic one

Co-authored-by: dailidong <dailidong66@gmail.com>
Co-authored-by: qiaozhanwei <qiaozhanwei@outlook.com>
pull/3/MERGE
tswstarplanet 4 years ago committed by GitHub
parent
commit
d87d2d80dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/zk/ZookeeperConfig.java
  2. 5
      dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/zk/ZookeeperOperator.java
  3. 1
      dolphinscheduler-service/src/main/resources/zookeeper.properties

11
dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/zk/ZookeeperConfig.java

@ -52,6 +52,9 @@ public class ZookeeperConfig {
@Value("${zookeeper.dolphinscheduler.root:/dolphinscheduler}") @Value("${zookeeper.dolphinscheduler.root:/dolphinscheduler}")
private String dsRoot; private String dsRoot;
@Value("${zookeeper.max.wait.time:10000}")
private int maxWaitTime;
public String getServerList() { public String getServerList() {
return serverList; return serverList;
} }
@ -115,4 +118,12 @@ public class ZookeeperConfig {
public void setDsRoot(String dsRoot) { public void setDsRoot(String dsRoot) {
this.dsRoot = dsRoot; this.dsRoot = dsRoot;
} }
public int getMaxWaitTime() {
return maxWaitTime;
}
public void setMaxWaitTime(int maxWaitTime) {
this.maxWaitTime = maxWaitTime;
}
} }

5
dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/zk/ZookeeperOperator.java

@ -37,6 +37,7 @@ import org.springframework.stereotype.Component;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
import static org.apache.dolphinscheduler.common.utils.Preconditions.checkNotNull; import static org.apache.dolphinscheduler.common.utils.Preconditions.checkNotNull;
@ -109,7 +110,9 @@ public class ZookeeperOperator implements InitializingBean {
zkClient = builder.build(); zkClient = builder.build();
zkClient.start(); zkClient.start();
try { try {
zkClient.blockUntilConnected(); if (!zkClient.blockUntilConnected(zookeeperConfig.getMaxWaitTime(), TimeUnit.MILLISECONDS)) {
throw new IllegalStateException("Connect zookeeper expire max wait time");
}
} catch (final Exception ex) { } catch (final Exception ex) {
throw new RuntimeException(ex); throw new RuntimeException(ex);
} }

1
dolphinscheduler-service/src/main/resources/zookeeper.properties

@ -27,3 +27,4 @@ zookeeper.quorum=localhost:2181
#zookeeper.retry.base.sleep=100 #zookeeper.retry.base.sleep=100
#zookeeper.retry.max.sleep=30000 #zookeeper.retry.max.sleep=30000
#zookeeper.retry.maxtime=10 #zookeeper.retry.maxtime=10
#zookeeper.max.wait.time=10000
Loading…
Cancel
Save