You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2015/07/07 17:10:46 UTC
svn commit: r1689696 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws:
MachineInfo.java WebServerComponent.java
Author: degenaro
Date: Tue Jul 7 15:10:46 2015
New Revision: 1689696
URL: http://svn.apache.org/r1689696
Log:
UIMA-4503 DUCC Web Server (WS) incorrectly reports Agent as "up"
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/WebServerComponent.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java?rev=1689696&r1=1689695&r2=1689696&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java Tue Jul 7 15:10:46 2015
@@ -36,7 +36,7 @@ public class MachineInfo implements Comp
private static DuccId jobid = null;
private long down_fudge = 10;
- private long DOWN_AFTER_SECONDS = WebServerComponent.updateInterval + down_fudge;
+ private long DOWN_AFTER_SECONDS = WebServerComponent.updateIntervalSeconds + down_fudge;
private long SECONDS_PER_MILLI = 1000;
private String fileDef;
@@ -82,22 +82,23 @@ public class MachineInfo implements Comp
private long getAgentMillisMIA() {
String location = "getAgentMillisMIA";
- long secondsMIA = DOWN_AFTER_SECONDS*SECONDS_PER_MILLI;
+ long millisMIA = DOWN_AFTER_SECONDS*SECONDS_PER_MILLI;
Properties properties = DuccWebProperties.get();
String s_tolerance = properties.getProperty("ducc.rm.node.stability");
String s_rate = properties.getProperty("ducc.agent.node.metrics.publish.rate");
try {
long tolerance = Long.parseLong(s_tolerance.trim());
long rate = Long.parseLong(s_rate.trim());
- secondsMIA = (tolerance * rate) / 1000;
+ long secondsRM = (tolerance * rate) / SECONDS_PER_MILLI;
+ logger.trace(location, jobid, "default:"+DOWN_AFTER_SECONDS+" "+"secondsRM:"+secondsRM);
+ if(DOWN_AFTER_SECONDS < secondsRM) {
+ millisMIA = secondsRM * SECONDS_PER_MILLI;
+ }
}
catch(Throwable t) {
logger.warn(location, jobid, t);
}
- if(secondsMIA < DOWN_AFTER_SECONDS) {
- secondsMIA = DOWN_AFTER_SECONDS;
- }
- return secondsMIA;
+ return millisMIA;
}
private String calculateStatus() {
@@ -229,8 +230,11 @@ public class MachineInfo implements Comp
this.pubSizeMax = value;
}
- public boolean isExpired(long seconds) {
- return getElapsedSeconds() > seconds;
+ public boolean isExpired(long millisLimit) {
+ String location = "isExpired";
+ long millisElapsed = getElapsedSeconds() * 1000;
+ logger.trace(location, jobid, "millisElapsed:"+millisElapsed+" "+"millisLimit:"+millisLimit);
+ return millisElapsed > millisLimit;
}
public long getElapsedSeconds() {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/WebServerComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/WebServerComponent.java?rev=1689696&r1=1689695&r2=1689696&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/WebServerComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/WebServerComponent.java Tue Jul 7 15:10:46 2015
@@ -59,7 +59,8 @@ implements IWebServer {
private static AtomicInteger reservationCount = new AtomicInteger(0);
private static AtomicLong updateLast = new AtomicLong(System.currentTimeMillis());
- public static long updateInterval = 60*1000;
+ public static long updateIntervalSeconds = 60;
+ public static long updateIntervalMilliSeconds = updateIntervalSeconds*1000;
private static AtomicLong updateCount = new AtomicLong(0);
private static long warmup = 10;
@@ -145,9 +146,9 @@ implements IWebServer {
private void sortMachines() {
long last = updateLast.get();
- long deadline = last + updateInterval;
+ long deadline = last + updateIntervalMilliSeconds;
if(updateCount.getAndIncrement() < warmup) {
- deadline = last + updateInterval/10;
+ deadline = last + updateIntervalMilliSeconds/10;
}
long now = System.currentTimeMillis();
if(now > deadline) {