GIRAPH-1078 createZooKeeperServerList should use task instead of port number
Summary: createZooKeeperServerList doesn't have a port yet, as we haven't started zookeeper. What we actually have is the task number. Port will be later set by the master.
Test Plan: run a few jobs.
Reviewers: maja.kabiljo, majakabiljo, heslami, dionysis.logothetis
Reviewed By: dionysis.logothetis
Differential Revision: https://reviews.facebook.net/D59961
diff --git a/giraph-core/src/main/java/org/apache/giraph/zk/ZooKeeperManager.java b/giraph-core/src/main/java/org/apache/giraph/zk/ZooKeeperManager.java
index cac4315..d3ace99 100644
--- a/giraph-core/src/main/java/org/apache/giraph/zk/ZooKeeperManager.java
+++ b/giraph-core/src/main/java/org/apache/giraph/zk/ZooKeeperManager.java
@@ -304,14 +304,11 @@
*/
private void createZooKeeperServerList() throws IOException,
InterruptedException {
- String host = null;
- int port = 0;
- while (host == null) {
+ String host;
+ String task;
+ while (true) {
FileStatus [] fileStatusArray = fs.listStatus(taskDirectory);
if (fileStatusArray.length > 0) {
- checkState(fileStatusArray.length == 1,
- "createZooKeeperServerList: too many " +
- "status files found " + Arrays.toString(fileStatusArray));
FileStatus fileStatus = fileStatusArray[0];
String[] hostnameTaskArray =
fileStatus.getPath().getName().split(
@@ -320,14 +317,14 @@
"createZooKeeperServerList: Task 0 failed " +
"to parse " + fileStatus.getPath().getName());
host = hostnameTaskArray[0];
- port = Integer.parseInt(hostnameTaskArray[1]);
- Thread.sleep(pollMsecs);
+ task = hostnameTaskArray[1];
+ break;
}
+ Thread.sleep(pollMsecs);
}
String serverListFile =
ZOOKEEPER_SERVER_LIST_FILE_PREFIX + host +
- HOSTNAME_TASK_SEPARATOR + port +
- HOSTNAME_TASK_SEPARATOR;
+ HOSTNAME_TASK_SEPARATOR + task;
Path serverListPath =
new Path(baseDirectory, serverListFile);
if (LOG.isInfoEnabled()) {
@@ -573,7 +570,7 @@
}
} else {
if (LOG.isInfoEnabled()) {
- LOG.info("onlineZooKeeperSErvers: Empty " +
+ LOG.info("onlineZooKeeperServers: Empty " +
"directory " + serverDirectory +
", waiting " + pollMsecs + " msecs.");
}