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,

Reply via email to