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) {