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 2013/02/22 15:39:17 UTC
svn commit: r1449062 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server:
DuccHandlerJsonFormat.java DuccHandlerLegacy.java DuccWebMonitor.java
DuccWebServer.java
Author: degenaro
Date: Fri Feb 22 14:39:17 2013
New Revision: 1449062
URL: http://svn.apache.org/r1449062
Log:
UIMA-2689 DUCC webserver (WS) auto-cancel feature should not be enabled for "shadows"
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerLegacy.java
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitor.java
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServer.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java?rev=1449062&r1=1449061&r2=1449062&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java Fri Feb 22 14:39:17 2013
@@ -223,11 +223,12 @@ public class DuccHandlerJsonFormat exten
}
if(expiry > expiryWarnTime) {
sb.append("<span class=\"health_green\" title=\""+text+"\">");
+ sb.append("TimeoutMonitorNominal");
}
else {
sb.append("<span class=\"health_red\" title=\""+text+"\">");
+ sb.append("TimeoutMonitorWarning");
}
- sb.append("WaitTimeout");
sb.append("</span>");
}
else if(duccWebMonitor.isCancelPending(duccId)) {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerLegacy.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerLegacy.java?rev=1449062&r1=1449061&r2=1449062&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerLegacy.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerLegacy.java Fri Feb 22 14:39:17 2013
@@ -206,11 +206,12 @@ public class DuccHandlerLegacy extends D
}
if(expiry > expiryWarnTime) {
sb.append("<span class=\"health_green\" title=\""+text+"\">");
+ sb.append("TimeoutMonitorNominal");
}
else {
sb.append("<span class=\"health_red\" title=\""+text+"\">");
+ sb.append("TimeoutMonitorWarning");
}
- sb.append("WaitTimeout");
sb.append("</span>");
}
else if(duccWebMonitor.isCancelPending(duccId)) {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitor.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitor.java?rev=1449062&r1=1449061&r2=1449062&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitor.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitor.java Fri Feb 22 14:39:17 2013
@@ -66,6 +66,12 @@ public class DuccWebMonitor implements I
private ConcurrentHashMap<DuccId,Long> cMap = new ConcurrentHashMap<DuccId,Long>();
+ private String monitor_host = null;
+ private String monitor_port = null;
+
+ private String actual_host = null;
+ private String actual_port = null;
+
public DuccWebMonitor() {
super();
initialize();
@@ -94,6 +100,50 @@ public class DuccWebMonitor implements I
duccLogger.warn(location, jobid, me+" is not an administrator");
}
DuccListeners.getInstance().register(this);
+ //
+ monitor_host = properties.getProperty("ducc.ws.node");
+ if(monitor_host == null) {
+ monitor_host = properties.getProperty("ducc.head");
+ }
+ monitor_port = properties.getProperty("ducc.ws.port");
+ }
+
+ public void registerHostPort(String host, String port) {
+ String location = "registerHostPort";
+ actual_host = host;
+ actual_port = port;
+ if(isCanceler()) {
+ duccLogger.info(location, jobid, host+":"+port+" is cancel monitor "+monitor_host+":"+monitor_port);
+ }
+ else {
+ duccLogger.warn(location, jobid, host+":"+port+" is *not* cancel monitor "+monitor_host+":"+monitor_port);
+ }
+ }
+
+ public boolean isCanceler() {
+ if(actual_host == null) {
+ return false;
+ }
+ if(monitor_host == null) {
+ return false;
+ }
+ if(!actual_host.equals(monitor_host)) {
+ String actual_domainless_host = actual_host.split("\\.")[0];
+ String monitor_domainless_host = monitor_host.split("\\.")[0];
+ if(!actual_domainless_host.equals(monitor_domainless_host)) {
+ return false;
+ }
+ }
+ if(actual_port == null) {
+ return false;
+ }
+ if(monitor_port == null) {
+ return false;
+ }
+ if(!actual_port.equals(monitor_port)) {
+ return false;
+ }
+ return true;
}
private void cancel(DuccId duccId) {
@@ -139,6 +189,9 @@ public class DuccWebMonitor implements I
if(isCancelable(duccId)) {
cancel(duccId);
}
+ else {
+ duccLogger.debug(location, duccId, "not cancelable");
+ }
}
}
@@ -238,7 +291,12 @@ public class DuccWebMonitor implements I
duccLogger.info(location, duccId, "Job monitor stop");
}
- canceler();
+ if(isCanceler()) {
+ canceler();
+ }
+ else {
+ duccLogger.debug(location, jobid, "Canceler disabled");
+ }
duccLogger.trace(location, jobid, "exit");
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServer.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServer.java?rev=1449062&r1=1449061&r2=1449062&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServer.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServer.java Fri Feb 22 14:39:17 2013
@@ -20,6 +20,7 @@ package org.apache.uima.ducc.ws.server;
import java.io.File;
import java.io.PrintWriter;
+import java.net.InetAddress;
import java.util.Properties;
import org.apache.jasper.servlet.JspServlet;
@@ -27,6 +28,7 @@ import org.apache.uima.ducc.common.confi
import org.apache.uima.ducc.common.internationalization.Messages;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
+import org.apache.uima.ducc.common.utils.id.DuccId;
import org.eclipse.jetty.http.ssl.SslContextFactory;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler;
@@ -46,6 +48,8 @@ public class DuccWebServer {
private static DuccLogger logger = DuccLoggerComponents.getWsLogger(DuccWebServer.class.getName());
private static Messages messages = Messages.getInstance();
+ private DuccId jobid = null;
+
/**
* DUCC_WEB should be set as an environment variable. This is the webserver's
* base directory where it will find web pages to serve from sub-directory root,
@@ -137,6 +141,14 @@ public class DuccWebServer {
logger.debug(methodName, null, messages.fetchLabel("SSL pw")+portSslPw);
}
}
+ try {
+ InetAddress inetAddress = InetAddress.getLocalHost();
+ String host = inetAddress.getCanonicalHostName();
+ DuccWebMonitor.getInstance().registerHostPort(host, ""+port);
+ }
+ catch(Exception e) {
+ logger.error(methodName, jobid, e);
+ }
String ducc_web_property = System.getProperty("DUCC_WEB");
String ducc_web_env = System.getenv("DUCC_WEB");
if(ducc_web_property != null) {