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>
