Skip to content

Commit

Permalink
Merge pull request #72 from dybdahl/master
Browse files Browse the repository at this point in the history
Bug fix, if user calls resolve while zookeeper is down..
  • Loading branch information
acidmoose committed Aug 6, 2012
2 parents ff3bb8f + 5bdcac5 commit a97e623
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
4 changes: 3 additions & 1 deletion cn/src/main/java/org/cloudname/zk/DynamicExpression.java
Expand Up @@ -260,7 +260,9 @@ private void notifyClient() {
newEndpointsByName.put(getEndpointKey(endpoint), endpoint);
}

for (Map.Entry<String, Endpoint> endpointEntry : clientPicture.entrySet()) {
Iterator<Map.Entry<String, Endpoint>> it = clientPicture.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, Endpoint> endpointEntry = it.next();
String key = endpointEntry.getKey();

if (! newEndpointsByName.containsKey(key)) {
Expand Down
9 changes: 7 additions & 2 deletions cn/src/main/java/org/cloudname/zk/ZkResolver.java
Expand Up @@ -284,7 +284,12 @@ public List<Endpoint> resolve(String addressExpression) throws CloudnameExceptio
// not sure I am too fond of the check for negative values to
// have some particular semantics. That smells like a problem
// waiting to happen.
List<Integer> instances = resolveInstances(parameters, zk);

ZooKeeper localZkPointer = getZooKeeper();
if (localZkPointer == null) {
throw new CloudnameException("No connection to ZooKeeper.");
}
List<Integer> instances = resolveInstances(parameters, localZkPointer);

List<Endpoint> endpoints = new ArrayList<Endpoint>();
for (Integer instance : instances) {
Expand All @@ -299,7 +304,7 @@ public List<Endpoint> resolve(String addressExpression) throws CloudnameExceptio
throw new CloudnameException(e);

}
ZkCoordinateData zkCoordinateData = ZkCoordinateData.loadCoordinateData(statusPath, getZooKeeper(), null);
ZkCoordinateData zkCoordinateData = ZkCoordinateData.loadCoordinateData(statusPath, localZkPointer, null);
addEndpoints(zkCoordinateData.snapshot(), endpoints, parameters.getEndpointName());

}
Expand Down

0 comments on commit a97e623

Please sign in to comment.