You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2014/10/27 07:52:11 UTC

git commit: fixing STRATOS-911 - different expiry timeouts for vm and container

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 <rr...@gmail.com>
Authored: Mon Oct 27 12:21:51 2014 +0530
Committer: R-Rajkumar <rr...@gmail.com>
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>