Fix issue of not setting LB stats in cluster instance is is not defined
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/dcbc80ca Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/dcbc80ca Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/dcbc80ca Branch: refs/heads/master Commit: dcbc80ca4a4b8eb9e8f508bc958c904b570baba9 Parents: baed9aa Author: Lahiru Sandaruwan <[email protected]> Authored: Tue May 19 13:16:52 2015 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Tue May 19 15:30:57 2015 +0530 ---------------------------------------------------------------------- .../monitor/cluster/ClusterMonitor.java | 23 +++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/dcbc80ca/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java index a524947..fe55db6 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java @@ -821,15 +821,17 @@ public class ClusterMonitor extends Monitor { ClusterLevelNetworkPartitionContext networkPartitionContext = getNetworkPartitionContext(networkPartitionId); if (null != networkPartitionContext) { int totalActiveMemberCount = 0; - for (InstanceContext clusterInstanceContext : networkPartitionContext.getActiveInstances()) { + for (InstanceContext clusterInstanceContext : + networkPartitionContext.getInstanceIdToInstanceContextMap().values()) { if (clusterInstanceContext instanceof ClusterInstanceContext) { totalActiveMemberCount += ((ClusterInstanceContext) clusterInstanceContext).getActiveMemberCount(); } } - for (InstanceContext instanceContext : networkPartitionContext.getActiveInstances()) { + for (InstanceContext instanceContext : networkPartitionContext.getInstanceIdToInstanceContextMap().values()) { if (instanceContext instanceof ClusterInstanceContext) { ClusterInstanceContext clusterInstanceContext = ((ClusterInstanceContext) instanceContext); - float averageRequestsInFlight = value * clusterInstanceContext.getActiveMemberCount() / totalActiveMemberCount; + float averageRequestsInFlight = value * clusterInstanceContext.getActiveMemberCount() / + totalActiveMemberCount; clusterInstanceContext.setAverageRequestsInFlight(averageRequestsInFlight); log.debug(String.format("Calculated average RIF: [cluster] %s [cluster-instance] %s " + "[network-partition] %s [average-rif] %s", clusterId, @@ -874,12 +876,14 @@ public class ClusterMonitor extends Monitor { ClusterLevelNetworkPartitionContext networkPartitionContext = getNetworkPartitionContext(networkPartitionId); if (null != networkPartitionContext) { int totalActiveMemberCount = 0; - for (InstanceContext clusterInstanceContext : networkPartitionContext.getActiveInstances()) { + for (InstanceContext clusterInstanceContext : networkPartitionContext + .getInstanceIdToInstanceContextMap().values()) { if (clusterInstanceContext instanceof ClusterInstanceContext) { totalActiveMemberCount += ((ClusterInstanceContext) clusterInstanceContext).getActiveMemberCount(); } } - for (InstanceContext instanceContext : networkPartitionContext.getActiveInstances()) { + for (InstanceContext instanceContext : networkPartitionContext + .getInstanceIdToInstanceContextMap().values()) { if (instanceContext instanceof ClusterInstanceContext) { ClusterInstanceContext clusterInstanceContext = ((ClusterInstanceContext) instanceContext); float requestsInFlightGradient = value * clusterInstanceContext.getActiveMemberCount() / totalActiveMemberCount; @@ -925,15 +929,18 @@ public class ClusterMonitor extends Monitor { ClusterLevelNetworkPartitionContext networkPartitionContext = getNetworkPartitionContext(networkPartitionId); if (null != networkPartitionContext) { int totalActiveMemberCount = 0; - for (InstanceContext clusterInstanceContext : networkPartitionContext.getActiveInstances()) { + for (InstanceContext clusterInstanceContext : networkPartitionContext + .getInstanceIdToInstanceContextMap().values()) { if (clusterInstanceContext instanceof ClusterInstanceContext) { totalActiveMemberCount += ((ClusterInstanceContext) clusterInstanceContext).getActiveMemberCount(); } } - for (InstanceContext instanceContext : networkPartitionContext.getActiveInstances()) { + for (InstanceContext instanceContext : networkPartitionContext + .getInstanceIdToInstanceContextMap().values()) { if (instanceContext instanceof ClusterInstanceContext) { ClusterInstanceContext clusterInstanceContext = ((ClusterInstanceContext) instanceContext); - float requestsInFlightSecondDerivative = value * clusterInstanceContext.getActiveMemberCount() / totalActiveMemberCount; + float requestsInFlightSecondDerivative = value * clusterInstanceContext.getActiveMemberCount() / + totalActiveMemberCount; clusterInstanceContext.setRequestsInFlightSecondDerivative(requestsInFlightSecondDerivative); log.debug(String.format("Calculated second derivative RIF: [cluster] %s [cluster-instance] %s " + "[network-partition] %s [average-rif] %s", clusterId,
