Updated Branches:
  refs/heads/master e103ab6d0 -> c537b5a75

making member expiry time configurable from startup script


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

Branch: refs/heads/master
Commit: e96fcec250cec2f7f1b7e8abbc2835449b370e4e
Parents: b38d87c
Author: Isuru <[email protected]>
Authored: Wed Feb 5 11:45:04 2014 +0530
Committer: Isuru <[email protected]>
Committed: Wed Feb 5 11:45:04 2014 +0530

----------------------------------------------------------------------
 .../apache/stratos/autoscaler/Constants.java    |  3 ++
 .../stratos/autoscaler/PartitionContext.java    | 39 ++++++++++++++++++++
 .../distribution/src/main/resources/stratos.bat |  2 +-
 .../distribution/src/main/resources/stratos.sh  |  1 +
 4 files changed, 44 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e96fcec2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/Constants.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/Constants.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/Constants.java
index 691535e..6e9c5e4 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/Constants.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/Constants.java
@@ -47,4 +47,7 @@ public class Constants {
 
     public static final String SECOND_DERIVATIVE_OF_MEMORY_CONSUMPTION = 
"second_derivative_memory_consumption";
     public static final String SECOND_DERIVATIVE_OF_LOAD_AVERAGE = 
"second_derivative_load_average";
+
+    //member expiry interval
+    public static final String MEMBER_EXPIRY_INTERVAL = 
"member.expiry.interval";
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e96fcec2/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 06d115e..6e6829e 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
@@ -83,6 +83,12 @@ public class PartitionContext implements Serializable{
 
         this.activeMembers = new ArrayList<MemberContext>();
         this.terminationPendingMembers = new ArrayList<MemberContext>();
+        // check if a different value has been set for expiryTime
+        long memberExpiryInterval = getMemberExpiryInterval();
+        if (memberExpiryInterval != -1) {
+            setExpiryTime(memberExpiryInterval);
+            log.info("Member expiry interval set as " + memberExpiryInterval);
+        }
     }
     
     public PartitionContext(Partition partition) {
@@ -95,6 +101,14 @@ public class PartitionContext implements Serializable{
         this.obsoletedMembers = new CopyOnWriteArrayList<String>();
 //        this.faultyMembers = new CopyOnWriteArrayList<String>();
         memberStatsContexts = new ConcurrentHashMap<String, 
MemberStatsContext>();
+
+        // check if a different value has been set for expiryTime
+        long memberExpiryInterval = getMemberExpiryInterval();
+        if (memberExpiryInterval != -1) {
+            setExpiryTime(memberExpiryInterval);
+            log.info("Member expiry interval set as " + memberExpiryInterval);
+        }
+
         Thread th = new Thread(new PendingMemberWatcher(this));
         th.start();
     }
@@ -358,6 +372,31 @@ public class PartitionContext implements Serializable{
         return false;
     }
 
+    private long getMemberExpiryInterval () {
+
+        // if expiry time has been set in startup scrip with 
'member.expiry.interval', use that
+        String memberExpiryInterval = 
System.getProperty(Constants.MEMBER_EXPIRY_INTERVAL);
+        long memberExpiryIntervalLongVal = -1;
+
+        if (memberExpiryInterval != null) {
+
+            try {
+                memberExpiryIntervalLongVal = 
Long.parseLong(memberExpiryInterval);
+
+            } catch (NumberFormatException e) {
+                log.warn("Invalid value specified for [member.expiry.interval] 
in the startup script, default value of 15 mins will be used");
+                return -1;
+            }
+
+            if (memberExpiryIntervalLongVal < 0) {
+                log.warn("Invalid value specified for [member.expiry.interval] 
in the startup script, default value of 15 mins will be used");
+                return -1;
+            }
+        }
+
+        return memberExpiryIntervalLongVal;
+    }
+
 
     private class PendingMemberWatcher implements Runnable {
         private PartitionContext ctxt;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e96fcec2/products/autoscaler/modules/distribution/src/main/resources/stratos.bat
----------------------------------------------------------------------
diff --git 
a/products/autoscaler/modules/distribution/src/main/resources/stratos.bat 
b/products/autoscaler/modules/distribution/src/main/resources/stratos.bat
index 78307f8..0c3af11 100644
--- a/products/autoscaler/modules/distribution/src/main/resources/stratos.bat
+++ b/products/autoscaler/modules/distribution/src/main/resources/stratos.bat
@@ -167,7 +167,7 @@ set CARBON_CLASSPATH=.\lib;%CARBON_CLASSPATH%
 
 set 
JAVA_ENDORSED=".\lib\endorsed";"%JAVA_HOME%\jre\lib\endorsed";"%JAVA_HOME%\lib\endorsed"
 
-set CMD_LINE_ARGS=-Xbootclasspath/a:%CARBON_XBOOTCLASSPATH% -Xms256m -Xmx512m 
-XX:MaxPermSize=256m -Dcom.sun.management.jmxremote -classpath 
%CARBON_CLASSPATH% %JAVA_OPTS% -Djava.endorsed.dirs=%JAVA_ENDORSED% 
-DandesConfig=qpid-config.xml -Ddisable.cassandra.server.startup=true 
-Dcarbon.registry.root=/ -Dcarbon.home="%CARBON_HOME%" 
-Dwso2.server.standalone=true -Djava.command="%JAVA_HOME%\bin\java" 
-Djava.opts="%JAVA_OPTS%" -Djava.io.tmpdir="%CARBON_HOME%\tmp" 
-Dcatalina.base="%CARBON_HOME%\lib\tomcat" 
-Dwso2.carbon.xml=%CARBON_HOME%\repository\conf\carbon.xml 
-Dwso2.registry.xml="%CARBON_HOME%\repository\conf\registry.xml" 
-Dwso2.user.mgt.xml="%CARBON_HOME%\repository\conf\user-mgt.xml" 
-Dwso2.transports.xml="%CARBON_HOME%\repository\conf\mgt-transports.xml" 
-Djava.util.logging.config.file="%CARBON_HOME%\repository\conf\log4j.properties"
 -Dcarbon.config.dir.path="%CARBON_HOME%\repository\conf" 
-Djndi.properties.dir="%CARBON_HOME%/repository/conf" 
-Dcarbon.logs.path="%CARBON_HOME%\r
 epository\logs" -Dcomponents.repo="%CARBON_HOME%\repository\components" 
-Dcom.atomikos.icatch.file="%CARBON_HOME%\lib\transactions.properties" 
-Dcom.atomikos.icatch.hide_init_file_path="true" 
-Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true 
-Dcom.sun.jndi.ldap.connect.pool.authentication=simple 
-Dcom.sun.jndi.ldap.connect.pool.timeout=3000 
-Dorg.terracotta.quartz.skipUpdateCheck=true 
-Dcarbon.classpath=%CARBON_CLASSPATH%
+set CMD_LINE_ARGS=-Xbootclasspath/a:%CARBON_XBOOTCLASSPATH% -Xms256m -Xmx512m 
-XX:MaxPermSize=256m -Dcom.sun.management.jmxremote -classpath 
%CARBON_CLASSPATH% %JAVA_OPTS% -Djava.endorsed.dirs=%JAVA_ENDORSED% 
-DandesConfig=qpid-config.xml -Ddisable.cassandra.server.startup=true 
-Dcarbon.registry.root=/ -Dcarbon.home="%CARBON_HOME%" 
-Dwso2.server.standalone=true -Djava.command="%JAVA_HOME%\bin\java" 
-Djava.opts="%JAVA_OPTS%" -Djava.io.tmpdir="%CARBON_HOME%\tmp" 
-Dcatalina.base="%CARBON_HOME%\lib\tomcat" 
-Dwso2.carbon.xml=%CARBON_HOME%\repository\conf\carbon.xml 
-Dwso2.registry.xml="%CARBON_HOME%\repository\conf\registry.xml" 
-Dwso2.user.mgt.xml="%CARBON_HOME%\repository\conf\user-mgt.xml" 
-Dwso2.transports.xml="%CARBON_HOME%\repository\conf\mgt-transports.xml" 
-Djava.util.logging.config.file="%CARBON_HOME%\repository\conf\log4j.properties"
 -Dcarbon.config.dir.path="%CARBON_HOME%\repository\conf" 
-Djndi.properties.dir="%CARBON_HOME%/repository/conf" 
-Dcarbon.logs.path="%CARBON_HOME%\r
 epository\logs" -Dcomponents.repo="%CARBON_HOME%\repository\components" 
-Dcom.atomikos.icatch.file="%CARBON_HOME%\lib\transactions.properties" 
-Dcom.atomikos.icatch.hide_init_file_path="true" 
-Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true 
-Dcom.sun.jndi.ldap.connect.pool.authentication=simple 
-Dcom.sun.jndi.ldap.connect.pool.timeout=3000 
-Dorg.terracotta.quartz.skipUpdateCheck=true -Dmember.expiry.interval=900000 
-Dcarbon.classpath=%CARBON_CLASSPATH%
 
 :runJava
 echo JAVA_HOME environment variable is set to %JAVA_HOME%

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e96fcec2/products/autoscaler/modules/distribution/src/main/resources/stratos.sh
----------------------------------------------------------------------
diff --git 
a/products/autoscaler/modules/distribution/src/main/resources/stratos.sh 
b/products/autoscaler/modules/distribution/src/main/resources/stratos.sh
index 77f7a91..3da2613 100644
--- a/products/autoscaler/modules/distribution/src/main/resources/stratos.sh
+++ b/products/autoscaler/modules/distribution/src/main/resources/stratos.sh
@@ -299,6 +299,7 @@ do
     -Djava.security.egd=file:/dev/./urandom \
     -Dfile.encoding=UTF8 \
     -Djndi.properties.dir="$CARBON_HOME/repository/conf" \
+    -Dmember.expiry.interval=900000 \
     org.wso2.carbon.bootstrap.Bootstrap $*
     status=$?
 done

Reply via email to