Repository: stratos
Updated Branches:
  refs/heads/master b40452988 -> c8bf4a874


fixing STRATOS-911 - different expiry timeouts for vm and container


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

Branch: refs/heads/master
Commit: c8bf4a874642bf9c8895ce124310218ce0f1347e
Parents: b404529
Author: R-Rajkumar <[email protected]>
Authored: Mon Oct 27 12:21:51 2014 +0530
Committer: R-Rajkumar <[email protected]>
Committed: Mon Oct 27 12:21:51 2014 +0530

----------------------------------------------------------------------
 .../autoscaler/KubernetesClusterContext.java     | 19 +++++++++++--------
 .../stratos/autoscaler/PartitionContext.java     |  4 ++--
 .../common/constants/StratosConstants.java       |  6 ++++--
 .../distribution/src/main/conf/autoscaler.xml    | 16 ++++++++++++----
 4 files changed, 29 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/c8bf4a87/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/KubernetesClusterContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/KubernetesClusterContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/KubernetesClusterContext.java
index 0dfea0c..7c09811 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/KubernetesClusterContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/KubernetesClusterContext.java
@@ -35,6 +35,7 @@ import 
org.apache.stratos.autoscaler.policy.model.MemoryConsumption;
 import org.apache.stratos.autoscaler.policy.model.RequestsInFlight;
 import org.apache.stratos.autoscaler.util.ConfUtil;
 import org.apache.stratos.cloud.controller.stub.pojo.MemberContext;
+import org.apache.stratos.common.constants.StratosConstants;
 
 /*
  * It holds the runtime data of a kubernetes service cluster
@@ -59,7 +60,7 @@ public class KubernetesClusterContext implements Serializable 
{
     private Properties properties;
 
     // 15 mints as the default
-    private long expiryTime;
+    private long pendingMemberExpiryTime;
     // pending members
     private List<MemberContext> pendingMembers;
 
@@ -110,9 +111,11 @@ public class KubernetesClusterContext implements 
Serializable {
 
         // check if a different value has been set for expiryTime
         XMLConfiguration conf = ConfUtil.getInstance(null).getConfiguration();
-        expiryTime = conf.getLong("autoscaler.member.expiryTimeout", 300000);
+        pendingMemberExpiryTime = 
conf.getLong(StratosConstants.PENDING_CONTAINER_MEMBER_EXPIRY_TIMEOUT, 300000);
+        obsoltedMemberExpiryTime = 
conf.getLong(StratosConstants.OBSOLETED_CONTAINER_MEMBER_EXPIRY_TIMEOUT, 
3600000);
         if (log.isDebugEnabled()) {
-            log.debug("Member expiry time is set to: " + expiryTime);
+               log.debug("Member expiry time is set to: " + 
pendingMemberExpiryTime);
+               log.debug("Member obsoleted expiry time is set to: " + 
obsoltedMemberExpiryTime);
         }
 
         Thread th = new Thread(new PendingMemberWatcher(this));
@@ -225,12 +228,12 @@ public class KubernetesClusterContext implements 
Serializable {
         this.activeMembers.remove(ctxt);
     }
 
-    public long getExpiryTime() {
-        return expiryTime;
+    public long getPendingMemberExpiryTime() {
+        return pendingMemberExpiryTime;
     }
 
-    public void setExpiryTime(long expiryTime) {
-        this.expiryTime = expiryTime;
+    public void setPendingMemberExpiryTime(long pendingMemberExpiryTime) {
+        this.pendingMemberExpiryTime = pendingMemberExpiryTime;
     }
 
     public Map<String, MemberStatsContext> getMemberStatsContexts() {
@@ -307,7 +310,7 @@ public class KubernetesClusterContext implements 
Serializable {
         public void run() {
 
             while (true) {
-                long expiryTime = ctxt.getExpiryTime();
+                long expiryTime = ctxt.getPendingMemberExpiryTime();
                 List<MemberContext> pendingMembers = ctxt.getPendingMembers();
 
                 synchronized (pendingMembers) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/c8bf4a87/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/PartitionContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/PartitionContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/PartitionContext.java
index 6afd2bb..07014e4 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/PartitionContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/PartitionContext.java
@@ -98,8 +98,8 @@ public class PartitionContext implements Serializable{
 
         // check if a different value has been set for expiryTime
         XMLConfiguration conf = ConfUtil.getInstance(null).getConfiguration();
-        pendingMemberExpiryTime = 
conf.getLong(StratosConstants.PENDING_MEMBER_EXPIRY_TIMEOUT, 900000);
-        obsoltedMemberExpiryTime = 
conf.getLong(StratosConstants.OBSOLETED_MEMBER_EXPIRY_TIMEOUT, 86400000);
+        pendingMemberExpiryTime = 
conf.getLong(StratosConstants.PENDING_VM_MEMBER_EXPIRY_TIMEOUT, 900000);
+        obsoltedMemberExpiryTime = 
conf.getLong(StratosConstants.OBSOLETED_VM_MEMBER_EXPIRY_TIMEOUT, 86400000);
         if (log.isDebugEnabled()) {
                log.debug("Member expiry time is set to: " + 
pendingMemberExpiryTime);
                log.debug("Member obsoleted expiry time is set to: " + 
obsoltedMemberExpiryTime);

http://git-wip-us.apache.org/repos/asf/stratos/blob/c8bf4a87/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
index 95ff6e3..401e6c0 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
@@ -165,7 +165,9 @@ public class StratosConstants {
     public static final int PUBLIC_DEFINITION = 0;
     
     // Autoscaler member timeout constants
-    public static final String PENDING_MEMBER_EXPIRY_TIMEOUT = 
"autoscaler.member.pendingMemberExpiryTimeout";
-    public static final String OBSOLETED_MEMBER_EXPIRY_TIMEOUT = 
"autoscaler.member.obsoletedMemberExpiryTimeout";
+    public static final String PENDING_VM_MEMBER_EXPIRY_TIMEOUT = 
"autoscaler.member.vm.pendingMemberExpiryTimeout";
+    public static final String OBSOLETED_VM_MEMBER_EXPIRY_TIMEOUT = 
"autoscaler.member.vm.obsoletedMemberExpiryTimeout";
+    public static final String PENDING_CONTAINER_MEMBER_EXPIRY_TIMEOUT = 
"autoscaler.member.container.pendingMemberExpiryTimeout";
+    public static final String OBSOLETED_CONTAINER_MEMBER_EXPIRY_TIMEOUT = 
"autoscaler.member.container.obsoletedMemberExpiryTimeout";
 }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/c8bf4a87/products/stratos/modules/distribution/src/main/conf/autoscaler.xml
----------------------------------------------------------------------
diff --git a/products/stratos/modules/distribution/src/main/conf/autoscaler.xml 
b/products/stratos/modules/distribution/src/main/conf/autoscaler.xml
index aa45a5c..4d19bbc 100644
--- a/products/stratos/modules/distribution/src/main/conf/autoscaler.xml
+++ b/products/stratos/modules/distribution/src/main/conf/autoscaler.xml
@@ -38,10 +38,18 @@
                 <clientTimeout>300000</clientTimeout>
            </stratosManager>
            <member>
-               <!-- this is the maximum time(ms) a member can be in pending 
member state -->
-               <pendingMemberExpiryTimeout>900000</pendingMemberExpiryTimeout>
-                <!-- this is the maximum time(ms) a member can be in obsoleted 
member state -->
-               
<obsoletedMemberExpiryTimeout>86400000</obsoletedMemberExpiryTimeout>
+               <vm>
+                   <!-- this is the maximum time(ms) a vm member can be in 
pending member state -->
+                   
<pendingMemberExpiryTimeout>900000</pendingMemberExpiryTimeout>
+                    <!-- this is the maximum time(ms) a vm member can be in 
obsoleted member state -->
+                    
<obsoletedMemberExpiryTimeout>86400000</obsoletedMemberExpiryTimeout>
+               </vm>
+               <container>
+                    <!-- this is the maximum time(ms) a container member can 
be in pending member state -->
+                    
<pendingMemberExpiryTimeout>300000</pendingMemberExpiryTimeout>
+                    <!-- this is the maximum time(ms) a container member can 
be in obsoleted member state -->
+                    
<obsoletedMemberExpiryTimeout>3600000</obsoletedMemberExpiryTimeout>
+               </container>
            </member>
            <!-- cluster monitoring interval -->
             <monitorInterval>

Reply via email to