diff options
| author | Shireesh Anjal <anjalshireesh@gmail.com> | 2011-06-30 03:21:11 -0700 |
|---|---|---|
| committer | Shireesh Anjal <anjalshireesh@gmail.com> | 2011-06-30 03:21:11 -0700 |
| commit | 0c36771b2b372273fed877dab8e7b79d6ee6ee4a (patch) | |
| tree | e63cf572f8a3f67e5ea6da8b42f0beca79c39eb3 /src | |
| parent | 4bc285c970d0682cc374af6367897ec37336eee3 (diff) | |
| parent | bb8929ddef5725c4ea30fca056f00605113453d9 (diff) | |
Merge pull request #91 from Selvasundaram/master
login issue fix
Diffstat (limited to 'src')
2 files changed, 14 insertions, 7 deletions
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/ClusterService.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/ClusterService.java index 42bfc736..b622c3a1 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/ClusterService.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/ClusterService.java @@ -33,8 +33,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.gluster.storage.management.core.constants.CoreConstants; +import com.gluster.storage.management.core.exceptions.ConnectionException; import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.gluster.storage.management.core.model.GlusterServer; +import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS; import com.gluster.storage.management.core.utils.LRUCache; import com.gluster.storage.management.server.data.ClusterInfo; import com.gluster.storage.management.server.data.PersistenceDao; @@ -75,7 +77,7 @@ public class ClusterService { // uses cache public GlusterServer getOnlineServer(String clusterName, String exceptServerName) { - GlusterServer server = getOnlineServer(clusterName); + GlusterServer server = onlineServerCache.get(clusterName); if (server != null && !server.getName().equals(exceptServerName)) { return server; } @@ -100,11 +102,17 @@ public class ClusterService { for (ServerInfo serverInfo : cluster.getServers()) { GlusterServer server = new GlusterServer(serverInfo.getName()); - serverUtil.fetchServerDetails(server); - if (server.isOnline() && !server.getName().equals(exceptServerName)) { - // server is online. add it to cache and return - addOnlineServer(clusterName, server); - return server; + server.setStatus(SERVER_STATUS.ONLINE); + try { + serverUtil.fetchServerDetails(server); + if (server.isOnline() && !server.getName().equals(exceptServerName)) { + // server is online. add it to cache and return + addOnlineServer(clusterName, server); + return server; + } + } catch(ConnectionException e) { + // server is offline. continue checking next one. + continue; } } diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/ServerUtil.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/ServerUtil.java index 3524d35d..ed77def3 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/ServerUtil.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/ServerUtil.java @@ -88,7 +88,6 @@ public class ServerUtil { // fetch standard server details like cpu, disk, memory details Object response = executeOnServer(true, server.getName(), "get_server_details.py --only-data-disks", Server.class); if (response instanceof Status) { - // TODO: check if this happened because the server is not reachable, and if yes, set it's status as offline throw new GlusterRuntimeException(((Status)response).getMessage()); } server.copyFrom((Server) response); // Update the details in <Server> object |
