Merge pull request #184 from didi/dev

reject illegal zk address
This commit is contained in:
EricZeng
2021-02-23 17:32:20 +08:00
committed by GitHub

View File

@@ -205,21 +205,31 @@ public class ClusterServiceImpl implements ClusterService {
} }
private boolean isZookeeperLegal(String zookeeper) { private boolean isZookeeperLegal(String zookeeper) {
boolean status = false;
ZooKeeper zk = null; ZooKeeper zk = null;
try { try {
zk = new ZooKeeper(zookeeper, 1000, null); zk = new ZooKeeper(zookeeper, 1000, null);
} catch (Throwable t) { for (int i = 0; i < 15; ++i) {
return false; if (zk.getState().isConnected()) {
// 只有状态是connected的时候才表示地址是合法的
status = true;
break;
}
Thread.sleep(1000);
}
} catch (Exception e) {
LOGGER.error("class=ClusterServiceImpl||method=isZookeeperLegal||zookeeper={}||msg=zk address illegal||errMsg={}", zookeeper, e.getMessage());
} finally { } finally {
try { try {
if (zk != null) { if (zk != null) {
zk.close(); zk.close();
} }
} catch (Exception e) { } catch (Exception e) {
return false; LOGGER.error("class=ClusterServiceImpl||method=isZookeeperLegal||zookeeper={}||msg=close zk client failed||errMsg={}", zookeeper, e.getMessage());
} }
} }
return true; return status;
} }
@Override @Override