Updated Branches:
  refs/heads/master e94dcfad2 -> 52d9282ea

AS npe exception when getting partition context for a member


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/6aac43bc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/6aac43bc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/6aac43bc

Branch: refs/heads/master
Commit: 6aac43bc405dd50887d2935f0c0bc6958b03ec61
Parents: ede69d5
Author: Udara Liyanage <[email protected]>
Authored: Thu Dec 19 14:44:03 2013 -0500
Committer: Udara Liyanage <[email protected]>
Committed: Thu Dec 19 14:44:03 2013 -0500

----------------------------------------------------------------------
 .../stratos/autoscaler/AutoscalerContext.java   |   3 +
 .../health/HealthEventMessageDelegator.java     |  30 ++--
 .../autoscaler/monitor/AbstractMonitor.java     | 157 +++++++++++++++++-
 .../autoscaler/monitor/ClusterMonitor.java      | 160 +------------------
 .../autoscaler/monitor/LbClusterMonitor.java    | 156 +-----------------
 .../topology/AutoscalerTopologyReceiver.java    |   4 +-
 6 files changed, 181 insertions(+), 329 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6aac43bc/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/AutoscalerContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/AutoscalerContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/AutoscalerContext.java
index 5f59dcc..e809db9 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/AutoscalerContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/AutoscalerContext.java
@@ -24,7 +24,10 @@ public class AutoscalerContext {
             log.error("Rule evaluateMinCheck error", e);
         }
     }
+    
+    // Map<ClusterId, ClusterMonitor>
     private Map<String, ClusterMonitor> monitors;
+    // Map<LBClusterId, LBClusterMonitor>
     private Map<String, LbClusterMonitor> lbMonitors;
 
     public static AutoscalerContext getInstance() {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6aac43bc/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/HealthEventMessageDelegator.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/HealthEventMessageDelegator.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/HealthEventMessageDelegator.java
index 1c5eba5..d8171e7 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/HealthEventMessageDelegator.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/HealthEventMessageDelegator.java
@@ -37,6 +37,7 @@ import 
org.apache.stratos.cloud.controller.deployment.partition.Partition;
 import org.apache.stratos.messaging.domain.topology.Cluster;
 import org.apache.stratos.messaging.domain.topology.Member;
 import org.apache.stratos.messaging.domain.topology.Service;
+import org.apache.stratos.messaging.domain.topology.Topology;
 import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
 
 import javax.jms.TextMessage;
@@ -319,21 +320,29 @@ public class HealthEventMessageDelegator implements 
Runnable {
                AutoscalerContext asCtx = AutoscalerContext.getInstance();
                AbstractMonitor monitor = null;
                
-               if(asCtx.moniterExist(clusterId)){                      
-                       monitor = asCtx.getMonitor(clusterId);                  
-               }else if(asCtx.lbMoniterExist(clusterId)){                      
-                       monitor = asCtx.getLBMonitor(clusterId);                
        
+               if(asCtx.moniterExist(clusterId)){
+                       monitor = asCtx.getMonitor(clusterId);
+               }else if(asCtx.lbMoniterExist(clusterId)){
+                       monitor = asCtx.getLBMonitor(clusterId);
                }else{
                        String errMsg = "A monitor is not found for this 
custer";
                        log.error(errMsg);
                        throw new RuntimeException(errMsg);
-               }        
-            
-            if (!monitor.memberExist(memberId)) {
-                // member has already terminated. So no action required
-                return;
+               }
+               
+               NetworkPartitionContext nwPartitionCtxt;
+            try{
+               TopologyManager.acquireReadLock();
+               Member member = monitor.getMember(memberId);
+                   if (null == member) {
+                       // member has already terminated. So no action required
+                       return;
+                   } else{
+                       nwPartitionCtxt = 
monitor.getNetworkPartitionCtxt(member);
+                   }
+            }finally{
+               TopologyManager.releaseReadLock();
             }
-
             // terminate the faulty member
             CloudControllerClient ccClient = 
CloudControllerClient.getInstance();
             ccClient.terminate(memberId);
@@ -341,7 +350,6 @@ public class HealthEventMessageDelegator implements 
Runnable {
             // start a new member in the same Partition
             String partitionId = monitor.getPartitionOfMember(memberId);
             Partition partition = 
monitor.getDeploymentPolicy().getPartitionById(partitionId);
-            NetworkPartitionContext nwPartitionCtxt = 
monitor.findNetworkPartition(memberId);
             PartitionContext partitionCtxt = 
nwPartitionCtxt.getPartitionCtxt(partitionId);
             
             String lbClusterId = 
AutoscalerRuleEvaluator.getLbClusterId(partitionCtxt, nwPartitionCtxt);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6aac43bc/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/AbstractMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/AbstractMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/AbstractMonitor.java
index 740db07..aa2bb8c 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/AbstractMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/AbstractMonitor.java
@@ -18,8 +18,20 @@
  */
 package org.apache.stratos.autoscaler.monitor;
 
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.NetworkPartitionContext;
 import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
+import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
+import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator;
+import org.apache.stratos.messaging.domain.topology.Cluster;
+import org.apache.stratos.messaging.domain.topology.Member;
+import org.apache.stratos.messaging.domain.topology.Service;
+import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.rule.FactHandle;
 
 /**
  * Is responsible for monitoring a service cluster. This runs periodically
@@ -29,19 +41,152 @@ import 
org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
  */
    abstract public class AbstractMonitor implements Runnable{
 
+       private static final Log log = LogFactory.getLog(AbstractMonitor.class);
+       // Map<NetworkpartitionId, Network Partition Context>
+       protected Map<String, NetworkPartitionContext> networkPartitionCtxts;
+       protected DeploymentPolicy deploymentPolicy;
+       protected AutoscalePolicy autoscalePolicy;
+       
+
+       protected FactHandle minCheckFactHandle;
+       protected FactHandle scaleCheckFactHandle;
+       
+       protected StatefulKnowledgeSession minCheckKnowledgeSession;
+       protected StatefulKnowledgeSession scaleCheckKnowledgeSession;
+       protected boolean isDestroyed;
+       
+       protected String clusterId;
+       protected String serviceId;
+       
+       protected AutoscalerRuleEvaluator autoscalerRuleEvaluator;
+       
        @Override
        public void run() {
                // TODO Auto-generated method stub
                
        }
        
-       public abstract String getPartitionOfMember(String memberId);
-       public abstract DeploymentPolicy getDeploymentPolicy();
-       public abstract boolean memberExist(String memberId);
-       public abstract NetworkPartitionContext findNetworkPartition(String 
memberId);
+           
+       public NetworkPartitionContext getNetworkPartitionCtxt(Member member) {
+               log.info("***** getNetworkPartitionCtxt " + 
member.getNetworkPartitionId());
+               String networkPartitionId = member.getNetworkPartitionId();
+       if(networkPartitionCtxts.containsKey(networkPartitionId)) {
+               log.info("returnnig network partition context " + 
networkPartitionCtxts.get(networkPartitionId));
+               return networkPartitionCtxts.get(networkPartitionId);
+       }
+       log.info("returning null getNetworkPartitionCtxt");
+           return null;
+       }
+       
+    public String getPartitionOfMember(String memberId){
+        for(Service service: TopologyManager.getTopology().getServices()){
+            for(Cluster cluster: service.getClusters()){
+                if(cluster.memberExists(memberId)){
+                    return cluster.getMember(memberId).getPartitionId();
+                }
+            }
+        }
+        return null;
+       }
+        
+    public Member getMember(String memberId){
+       
+        for(Service service: TopologyManager.getTopology().getServices()){
+            for(Cluster cluster: service.getClusters()){
+                if(cluster.memberExists(memberId)){
+                    return cluster.getMember(memberId);
+                }
+            }
+        }
+        return null;
+       }
+    
+    public void destroy() {
+        minCheckKnowledgeSession.dispose();
+        scaleCheckKnowledgeSession.dispose();
+        setDestroyed(true);
+        if(log.isDebugEnabled()) {
+            log.debug("Cluster Monitor Drools session has been disposed. 
"+this.toString());
+        }
+    }
+    
+    public boolean isDestroyed() {
+        return isDestroyed;
+    }
+
+    public void setDestroyed(boolean isDestroyed) {
+        this.isDestroyed = isDestroyed;
+    }
+
+    public String getServiceId() {
+        return serviceId;
+    }
+
+    public void setServiceId(String serviceId) {
+        this.serviceId = serviceId;
+    }
+
+    public DeploymentPolicy getDeploymentPolicy() {
+        return deploymentPolicy;
+    }
+
+    public void setDeploymentPolicy(DeploymentPolicy deploymentPolicy) {
+        this.deploymentPolicy = deploymentPolicy;
+    }
+
+    public AutoscalePolicy getAutoscalePolicy() {
+        return autoscalePolicy;
+    }
+
+    public void setAutoscalePolicy(AutoscalePolicy autoscalePolicy) {
+        this.autoscalePolicy = autoscalePolicy;
+    }    
+    
+    public String getClusterId() {
+        return clusterId;
+    }
+
+    public void setClusterId(String clusterId) {
+        this.clusterId = clusterId;
+    }
+
+    public Map<String, NetworkPartitionContext> getNetworkPartitionCtxts() {
+        return networkPartitionCtxts;
+    }
+
+    public NetworkPartitionContext getNetworkPartitionCtxt(String 
networkPartitionId) {
+        return networkPartitionCtxts.get(networkPartitionId);
+    }
+
+    public void setPartitionCtxt(Map<String, NetworkPartitionContext> 
partitionCtxt) {
+        this.networkPartitionCtxts = partitionCtxt;
+    }
+
+    public boolean partitionCtxtAvailable(String partitionId) {
+        return networkPartitionCtxts.containsKey(partitionId);
+    }
+
+    public void addNetworkPartitionCtxt(NetworkPartitionContext ctxt) {
+        this.networkPartitionCtxts.put(ctxt.getId(), ctxt);
+    }
+    
+    public NetworkPartitionContext getPartitionCtxt(String id) {
+        return this.networkPartitionCtxts.get(id);
+    }
+
+    public StatefulKnowledgeSession getMinCheckKnowledgeSession() {
+        return minCheckKnowledgeSession;
+    }
 
+    public void setMinCheckKnowledgeSession(StatefulKnowledgeSession 
minCheckKnowledgeSession) {
+        this.minCheckKnowledgeSession = minCheckKnowledgeSession;
+    }
 
-    public abstract NetworkPartitionContext getNetworkPartitionCtxt(String 
networkPartitionId);
+    public FactHandle getMinCheckFactHandle() {
+        return minCheckFactHandle;
+    }
 
-    public abstract void destroy();
+    public void setMinCheckFactHandle(FactHandle minCheckFactHandle) {
+        this.minCheckFactHandle = minCheckFactHandle;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6aac43bc/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ClusterMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ClusterMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ClusterMonitor.java
index 21738a5..1d0bad4 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ClusterMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ClusterMonitor.java
@@ -18,6 +18,8 @@
  */
 package org.apache.stratos.autoscaler.monitor;
 
+import java.util.concurrent.ConcurrentHashMap;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.NetworkPartitionContext;
@@ -25,14 +27,6 @@ import org.apache.stratos.autoscaler.PartitionContext;
 import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
 import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
 import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator;
-import org.apache.stratos.messaging.domain.topology.Cluster;
-import org.apache.stratos.messaging.domain.topology.Service;
-import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
-import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.rule.FactHandle;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * Is responsible for monitoring a service cluster. This runs periodically
@@ -42,30 +36,7 @@ import java.util.concurrent.ConcurrentHashMap;
  */
 public class ClusterMonitor extends AbstractMonitor{
 
-    private static final Log log = LogFactory.getLog(ClusterMonitor.class);
-    private String clusterId;
-
-    private String serviceId;
-
-    //key: network partition id, value: Network partition context
-    private Map<String, NetworkPartitionContext> networkPartitionCtxts;
-
-
-    private StatefulKnowledgeSession minCheckKnowledgeSession;
-    private StatefulKnowledgeSession scaleCheckKnowledgeSession;
-    private boolean isDestroyed;
-
-    private DeploymentPolicy deploymentPolicy;
-    private AutoscalePolicy autoscalePolicy;
-
-        // Key- MemberId Value- partitionId
-//    private Map<String, String> memberPartitionMap;
-
-    private FactHandle minCheckFactHandle;
-    private FactHandle scaleCheckFactHandle;
-
-    private AutoscalerRuleEvaluator autoscalerRuleEvaluator;
-    
+    private static final Log log = LogFactory.getLog(ClusterMonitor.class);    
     private String lbReferenceType;
 
     public ClusterMonitor(String clusterId, String serviceId, DeploymentPolicy 
deploymentPolicy,
@@ -82,53 +53,7 @@ public class ClusterMonitor extends AbstractMonitor{
         networkPartitionCtxts = new ConcurrentHashMap<String, 
NetworkPartitionContext>();
     }
 
-    public String getClusterId() {
-        return clusterId;
-    }
 
-    public void setClusterId(String clusterId) {
-        this.clusterId = clusterId;
-    }
-
-    public Map<String, NetworkPartitionContext> getNetworkPartitionCtxts() {
-        return networkPartitionCtxts;
-    }
-
-    public NetworkPartitionContext getNetworkPartitionCtxt(String 
networkPartitionId) {
-        return networkPartitionCtxts.get(networkPartitionId);
-    }
-
-    public void setPartitionCtxt(Map<String, NetworkPartitionContext> 
partitionCtxt) {
-        this.networkPartitionCtxts = partitionCtxt;
-    }
-
-    public boolean partitionCtxtAvailable(String partitionId) {
-        return networkPartitionCtxts.containsKey(partitionId);
-    }
-
-    public void addNetworkPartitionCtxt(NetworkPartitionContext ctxt) {
-        this.networkPartitionCtxts.put(ctxt.getId(), ctxt);
-    }
-    
-    public NetworkPartitionContext getPartitionCtxt(String id) {
-        return this.networkPartitionCtxts.get(id);
-    }
-
-    public StatefulKnowledgeSession getMinCheckKnowledgeSession() {
-        return minCheckKnowledgeSession;
-    }
-
-    public void setMinCheckKnowledgeSession(StatefulKnowledgeSession 
minCheckKnowledgeSession) {
-        this.minCheckKnowledgeSession = minCheckKnowledgeSession;
-    }
-
-    public FactHandle getMinCheckFactHandle() {
-        return minCheckFactHandle;
-    }
-
-    public void setMinCheckFactHandle(FactHandle minCheckFactHandle) {
-        this.minCheckFactHandle = minCheckFactHandle;
-    }
 
     @Override
     public void run() {
@@ -189,44 +114,6 @@ public class ClusterMonitor extends AbstractMonitor{
         }
     }
 
-    
-    public void destroy() {
-        minCheckKnowledgeSession.dispose();
-        scaleCheckKnowledgeSession.dispose();
-        setDestroyed(true);
-        if(log.isDebugEnabled()) {
-            log.debug("Cluster Monitor Drools session has been disposed. 
"+this.toString());
-        }
-    }
-
-    public boolean isDestroyed() {
-        return isDestroyed;
-    }
-
-    public void setDestroyed(boolean isDestroyed) {
-        this.isDestroyed = isDestroyed;
-    }
-
-    public String getServiceId() {
-        return serviceId;
-    }
-
-    public void setServiceId(String serviceId) {
-        this.serviceId = serviceId;
-    }
-
-    public DeploymentPolicy getDeploymentPolicy() {
-        return deploymentPolicy;
-    }
-
-    public void setDeploymentPolicy(DeploymentPolicy deploymentPolicy) {
-        this.deploymentPolicy = deploymentPolicy;
-    }
-
-    public AutoscalePolicy getAutoscalePolicy() {
-        return autoscalePolicy;
-    }
-
     @Override
     public String toString() {
         return "ClusterMonitor [clusterId=" + clusterId + ", serviceId=" + 
serviceId +
@@ -234,33 +121,6 @@ public class ClusterMonitor extends AbstractMonitor{
                ", lbReferenceType=" + lbReferenceType + "]";
     }
 
-    public void setAutoscalePolicy(AutoscalePolicy autoscalePolicy) {
-        this.autoscalePolicy = autoscalePolicy;
-    }
-
-    public String getPartitionOfMember(String memberId){
-        for(Service service: TopologyManager.getTopology().getServices()){
-            for(Cluster cluster: service.getClusters()){
-                if(cluster.memberExists(memberId)){
-                    cluster.getMember(memberId).getPartitionId();
-                }
-            }
-        }
-        return null;
-       }
-
-       @Override
-    public boolean memberExist(String memberId){
-        for(Service service: TopologyManager.getTopology().getServices()){
-            for(Cluster cluster: service.getClusters()){
-                if(cluster.memberExists(memberId)){
-                    return true;
-                }
-            }
-        }
-        return false;
-       }
-
     public String getLbReferenceType() {
         return lbReferenceType;
     }
@@ -268,18 +128,4 @@ public class ClusterMonitor extends AbstractMonitor{
     public void setLbReferenceType(String lbReferenceType) {
         this.lbReferenceType = lbReferenceType;
     }
-
-       @Override
-       public NetworkPartitionContext findNetworkPartition(String memberId) {
-                for(Service service: 
TopologyManager.getTopology().getServices()){
-                   for(Cluster cluster: service.getClusters()){
-
-                    String networkPartitionId = 
cluster.getMember(memberId).getNetworkPartitionId();
-                       
if(networkPartitionCtxts.containsKey(networkPartitionId)) {
-                        networkPartitionCtxts.get(networkPartitionId);
-                    }
-                   }
-             }
-             return null;
-       }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6aac43bc/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/LbClusterMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/LbClusterMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/LbClusterMonitor.java
index f180999..d5c1c92 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/LbClusterMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/LbClusterMonitor.java
@@ -18,6 +18,8 @@
  */
 package org.apache.stratos.autoscaler.monitor;
 
+import java.util.concurrent.ConcurrentHashMap;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.NetworkPartitionContext;
@@ -25,14 +27,6 @@ import org.apache.stratos.autoscaler.PartitionContext;
 import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
 import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
 import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator;
-import org.apache.stratos.messaging.domain.topology.Cluster;
-import org.apache.stratos.messaging.domain.topology.Service;
-import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
-import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.rule.FactHandle;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * Is responsible for monitoring a service cluster. This runs periodically
@@ -43,25 +37,6 @@ import java.util.concurrent.ConcurrentHashMap;
 public class LbClusterMonitor extends AbstractMonitor{
 
     private static final Log log = LogFactory.getLog(LbClusterMonitor.class);
-    private String clusterId;
-    private String serviceId;
-
-    private Map<String, NetworkPartitionContext> networkPartitionCtxts;
-
-    private StatefulKnowledgeSession minCheckKnowledgeSession;
-    private StatefulKnowledgeSession scaleCheckKnowledgeSession;
-    private boolean isDestroyed;
-
-    private DeploymentPolicy deploymentPolicy;
-    private AutoscalePolicy autoscalePolicy;
-
-        // Key- MemberId Value- partitionId
-//    private Map<String, String> memberPartitionMap;
-
-    private FactHandle minCheckFactHandle;
-    private FactHandle scaleCheckFactHandle;
-
-    private AutoscalerRuleEvaluator autoscalerRuleEvaluator;
 
     public LbClusterMonitor(String clusterId, String serviceId, 
DeploymentPolicy deploymentPolicy,
                             AutoscalePolicy autoscalePolicy) {
@@ -77,54 +52,6 @@ public class LbClusterMonitor extends AbstractMonitor{
         networkPartitionCtxts = new ConcurrentHashMap<String, 
NetworkPartitionContext>();
     }
 
-    public String getClusterId() {
-        return clusterId;
-    }
-
-    public void setClusterId(String clusterId) {
-        this.clusterId = clusterId;
-    }
-
-    public Map<String, NetworkPartitionContext> getNetworkPartitionCtxts() {
-        return networkPartitionCtxts;
-    }
-
-    public NetworkPartitionContext getNetworkPartitionCtxt(String 
networkPartitionId) {
-        return networkPartitionCtxts.get(networkPartitionId);
-    }
-
-    public void setPartitionCtxt(Map<String, NetworkPartitionContext> 
partitionCtxt) {
-        this.networkPartitionCtxts = partitionCtxt;
-    }
-
-    public boolean partitionCtxtAvailable(String partitionId) {
-        return networkPartitionCtxts.containsKey(partitionId);
-    }
-
-    public void addNetworkPartitionCtxt(NetworkPartitionContext ctxt) {
-        this.networkPartitionCtxts.put(ctxt.getId(), ctxt);
-    }
-    
-    public NetworkPartitionContext getPartitionCtxt(String id) {
-        return this.networkPartitionCtxts.get(id);
-    }
-
-    public StatefulKnowledgeSession getMinCheckKnowledgeSession() {
-        return minCheckKnowledgeSession;
-    }
-
-    public void setMinCheckKnowledgeSession(StatefulKnowledgeSession 
minCheckKnowledgeSession) {
-        this.minCheckKnowledgeSession = minCheckKnowledgeSession;
-    }
-
-    public FactHandle getMinCheckFactHandle() {
-        return minCheckFactHandle;
-    }
-
-    public void setMinCheckFactHandle(FactHandle minCheckFactHandle) {
-        this.minCheckFactHandle = minCheckFactHandle;
-    }
-
     @Override
     public void run() {
 
@@ -172,89 +99,12 @@ public class LbClusterMonitor extends AbstractMonitor{
             }
 
         }
-    }
-
-    
-    public void destroy() {
-        minCheckKnowledgeSession.dispose();
-        scaleCheckKnowledgeSession.dispose();
-        setDestroyed(true);
-        if(log.isDebugEnabled()) {
-            log.debug("Cluster Monitor Drools session has been disposed. 
"+this.toString());
-        }
-    }
-
-    public boolean isDestroyed() {
-        return isDestroyed;
-    }
-
-    public void setDestroyed(boolean isDestroyed) {
-        this.isDestroyed = isDestroyed;
-    }
-
-    public String getServiceId() {
-        return serviceId;
-    }
-
-    public void setServiceId(String serviceId) {
-        this.serviceId = serviceId;
-    }
-
-    public DeploymentPolicy getDeploymentPolicy() {
-        return deploymentPolicy;
-    }
-
-    public void setDeploymentPolicy(DeploymentPolicy deploymentPolicy) {
-        this.deploymentPolicy = deploymentPolicy;
-    }
-
-    public AutoscalePolicy getAutoscalePolicy() {
-        return autoscalePolicy;
-    }
-
-    public void setAutoscalePolicy(AutoscalePolicy autoscalePolicy) {
-        this.autoscalePolicy = autoscalePolicy;
-    }
-
-    public String getPartitionOfMember(String memberId){
-        for(Service service: TopologyManager.getTopology().getServices()){
-            for(Cluster cluster: service.getClusters()){
-                if(cluster.memberExists(memberId)){
-                    return cluster.getMember(memberId).getPartitionId();
-                }
-            }
-        }
-        return null;
-       }
-
-    @Override
-    public boolean memberExist(String memberId){
-        for(Service service: TopologyManager.getTopology().getServices()){
-            for(Cluster cluster: service.getClusters()){
-                if(cluster.memberExists(memberId)){
-                    return true;
-                }
-            }
-        }
-        return false;
-       }
+    }       
 
     @Override
     public String toString() {
         return "LbClusterMonitor [clusterId=" + clusterId + ", serviceId=" + 
serviceId + "]";
     }
 
-    @Override
-       public NetworkPartitionContext findNetworkPartition(String memberId) {
-                for(Service service: 
TopologyManager.getTopology().getServices()){
-                   for(Cluster cluster: service.getClusters()){
 
-                       String networkPartitionId = 
cluster.getMember(memberId).getNetworkPartitionId();
-                       
if(networkPartitionCtxts.containsKey(networkPartitionId)) {
-                           return 
networkPartitionCtxts.get(networkPartitionId);
-                       }
-                   }
-             }
-             return null;
-       }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6aac43bc/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/topology/AutoscalerTopologyReceiver.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/topology/AutoscalerTopologyReceiver.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/topology/AutoscalerTopologyReceiver.java
index cdf6dd5..5ecfad9 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/topology/AutoscalerTopologyReceiver.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/topology/AutoscalerTopologyReceiver.java
@@ -231,7 +231,7 @@ public class AutoscalerTopologyReceiver implements Runnable 
{
                     
                                        
if(AutoscalerContext.getInstance().moniterExist(clusterId)) {
                         monitor = 
AutoscalerContext.getInstance().getMonitor(clusterId);
-                                           partitionContext = 
monitor.getNetworkPartitionCtxt(networkPartitionId).getPartitionCtxt(partitionId);
+                                           partitionContext = 
monitor.getNetworkPartitionCtxt(networkPartitionId).getPartitionCtxt(partitionId);
                                           
                                        } else {
                                            monitor = 
AutoscalerContext.getInstance().getLBMonitor(clusterId);
                                            partitionContext = 
monitor.getNetworkPartitionCtxt(networkPartitionId).getPartitionCtxt(partitionId);
@@ -239,7 +239,7 @@ public class AutoscalerTopologyReceiver implements Runnable 
{
 //                                     ClusterContext clusCtx = 
monitor.getClusterCtxt();
 //                    
monitor.getNetworkPartitionCtxt(e.getId()).getPartitionCtxt(partitionId);
 //                            .addMemberStatsContext(new 
MemberStatsContext(e.getMemberId()));
-                    partitionContext.addMemberStatsContext(new 
MemberStatsContext(e.getMemberId()));
+                    partitionContext.addMemberStatsContext(new 
MemberStatsContext(memberId));
 //                                     PartitionContext partCtxt = 
monitor.getNetworkPartitionCtxt(e.getId())
 //                            .getPartitionCtxt(partitionId);
                                        
partitionContext.incrementCurrentMemberCount(1);

Reply via email to