[WIP] Block ConfigFileBasedClusterMetadataProvider until valid configuration is found.
Change-Id: I32022b1280ccec84268c97b72a6a148a407b4c20
diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java b/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java
index c75da8a..ae57576 100644
--- a/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java
+++ b/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java
@@ -179,7 +179,7 @@
}
private Versioned<ClusterMetadata> blockForMetadata(String metadataUrl) {
- int iterations = 0;
+
for (;;) {
Versioned<ClusterMetadata> metadata = fetchMetadata(metadataUrl);
if (metadata != null) {
@@ -187,7 +187,7 @@
}
try {
- Thread.sleep(Math.min((int) Math.pow(2, ++iterations) * 10, 1000));
+ Thread.sleep(10);
} catch (InterruptedException e) {
throw Throwables.propagate(e);
}
@@ -204,21 +204,12 @@
version = file.lastModified();
metadata = mapper.readValue(new FileInputStream(file), ClusterMetadata.class);
} else if ("http".equals(url.getProtocol())) {
- try {
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- if (conn.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) {
- log.warn("Could not reach metadata URL {}. Retrying...", url);
- return null;
- }
- if (conn.getResponseCode() == HttpURLConnection.HTTP_NO_CONTENT) {
- return null;
- }
- version = conn.getLastModified();
- metadata = mapper.readValue(conn.getInputStream(), ClusterMetadata.class);
- } catch (IOException e) {
- log.warn("Could not reach metadata URL {}. Retrying...", url);
+ HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+ if (conn.getResponseCode() == HttpURLConnection.HTTP_NO_CONTENT) {
return null;
}
+ version = conn.getLastModified();
+ metadata = mapper.readValue(conn.getInputStream(), ClusterMetadata.class);
}
if (null == metadata) {