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/05/20 15:54:28 UTC

svn commit: r1680575 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server: DuccWebMonitorJob.java DuccWebMonitorManagedReservation.java DuccWebUtil.java

Author: degenaro
Date: Wed May 20 13:54:27 2015
New Revision: 1680575

URL: http://svn.apache.org/r1680575
Log:
UIMA-4394 DUCC CLI Monitor (CLI) does not display Running state for Jobs in timely fashion

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorJob.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorManagedReservation.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebUtil.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorJob.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorJob.java?rev=1680575&r1=1680574&r2=1680575&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorJob.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorJob.java Wed May 20 13:54:27 2015
@@ -22,6 +22,7 @@ import java.io.File;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.Iterator;
+import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -35,6 +36,7 @@ import org.apache.uima.ducc.transport.ev
 import org.apache.uima.ducc.transport.event.cli.SpecificationProperties;
 import org.apache.uima.ducc.transport.event.common.DuccWorkJob;
 import org.apache.uima.ducc.transport.event.common.DuccWorkMap;
+import org.apache.uima.ducc.transport.event.common.IDuccProcess;
 import org.apache.uima.ducc.transport.event.common.IDuccSchedulingInfo;
 import org.apache.uima.ducc.transport.event.common.IDuccState.JobState;
 import org.apache.uima.ducc.transport.event.common.IDuccWork;
@@ -107,6 +109,10 @@ public class DuccWebMonitorJob {
 			monitorInfo.retry = si.getWorkItemsRetry();
 			monitorInfo.procs = ""+dwj.getProcessMap().getAliveProcessCount();
 			
+			Map<DuccId, IDuccProcess> map = dwj.getProcessMap().getMap();
+			
+			monitorInfo.remotePids = DuccWebUtil.getRemotePids(duccId, map);
+			
 			if(si.getIntWorkItemsError() > 0) {
 				String logsjobdir = dwj.getUserLogsDir()+dwj.getDuccId().getFriendly()+File.separator;
 				String logfile = "jd.err.log";

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorManagedReservation.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorManagedReservation.java?rev=1680575&r1=1680574&r2=1680575&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorManagedReservation.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebMonitorManagedReservation.java Wed May 20 13:54:27 2015
@@ -22,12 +22,10 @@ import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.Map;
-import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.uima.ducc.common.CancelReasons.CancelReason;
-import org.apache.uima.ducc.common.NodeIdentity;
 import org.apache.uima.ducc.common.json.MonitorInfo;
 import org.apache.uima.ducc.common.utils.DuccLogger;
 import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
@@ -38,9 +36,9 @@ import org.apache.uima.ducc.transport.ev
 import org.apache.uima.ducc.transport.event.common.DuccWorkJob;
 import org.apache.uima.ducc.transport.event.common.DuccWorkMap;
 import org.apache.uima.ducc.transport.event.common.IDuccProcess;
-import org.apache.uima.ducc.transport.event.common.IRationale;
 import org.apache.uima.ducc.transport.event.common.IDuccState.JobState;
 import org.apache.uima.ducc.transport.event.common.IDuccWork;
+import org.apache.uima.ducc.transport.event.common.IRationale;
 import org.apache.uima.ducc.ws.authentication.DuccAsUser;
 
 public class DuccWebMonitorManagedReservation {
@@ -59,35 +57,6 @@ public class DuccWebMonitorManagedReserv
 		this.timeoutMillis = timeoutMillis;
 	}
 	
-	private ArrayList<String> getRemotePids (Map<DuccId, IDuccProcess> map) {
-		String location = "getRemotePids";
-		ArrayList<String> list = new ArrayList<String>();
-		if(map != null) {
-			if(map.size() > 0) {
-				for(Entry<DuccId, IDuccProcess> entry : map.entrySet()) {
-					IDuccProcess proc = entry.getValue();
-					NodeIdentity nodeIdentity = proc.getNodeIdentity();
-					String host = nodeIdentity.getName();
-					if(host != null) {
-						String pid = proc.getPID();
-						if(pid != null) {
-							String remotePid = pid+"@"+host;
-							list.add(remotePid);
-							duccLogger.debug(location, jobid, remotePid);
-						}
-					}
-				}
-			}
-			else {
-				duccLogger.debug(location, jobid, "map is empty");
-			}
-		}
-		else {
-			duccLogger.debug(location, jobid, "map is null");
-		}
-		return list;
-	}
-	
 	protected void monitor(OrchestratorStateDuccEvent duccEvent) {
 		String location = "monitor";
 		duccLogger.trace(location, jobid, "enter");
@@ -141,7 +110,7 @@ public class DuccWebMonitorManagedReserv
 			Map<DuccId, IDuccProcess> map = dwr.getProcessMap().getMap();
 			monitorInfo.code = getCode(map);
 			
-			monitorInfo.remotePids = getRemotePids(map);
+			monitorInfo.remotePids = DuccWebUtil.getRemotePids(duccId, map);
 			
 			ArrayList<String> stateSequence = monitorInfo.stateSequence;
 			String state = dwr.getJobState().toString();

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebUtil.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebUtil.java?rev=1680575&r1=1680574&r2=1680575&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebUtil.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebUtil.java Wed May 20 13:54:27 2015
@@ -19,12 +19,19 @@
 package org.apache.uima.ducc.ws.server;
 
 import java.util.ArrayList;
+import java.util.Map;
 import java.util.Properties;
+import java.util.Map.Entry;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.uima.ducc.common.NodeIdentity;
 import org.apache.uima.ducc.common.persistence.services.StateServicesSet;
+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.apache.uima.ducc.transport.event.common.IDuccProcess;
 import org.apache.uima.ducc.transport.event.common.IDuccWork;
 import org.apache.uima.ducc.ws.registry.IServicesRegistry;
 import org.apache.uima.ducc.ws.registry.ServicesRegistryMapPayload;
@@ -32,13 +39,8 @@ import org.apache.uima.ducc.ws.registry.
 
 public class DuccWebUtil {
 
-	/*
-	@Deprecated
-	protected String getUserHome(String userName) throws IOException{
-	    return new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(new String[]{"sh", "-c", "echo ~" + userName}).getInputStream())).readLine();
-	}
-	*/
-
+	private static DuccLogger duccLogger = DuccLoggerComponents.getWsLogger(DuccWebUtil.class.getName());
+	
 	public static final void noCache(HttpServletResponse response) {
 		response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
 		response.setDateHeader("Expires", 0); // Proxies.
@@ -206,4 +208,34 @@ public class DuccWebUtil {
 		}
 		return list;
 	}
+	
+	
+	public static ArrayList<String> getRemotePids(DuccId duccId, Map<DuccId, IDuccProcess> map) {
+		String location = "getRemotePids";
+		ArrayList<String> list = new ArrayList<String>();
+		if(map != null) {
+			if(map.size() > 0) {
+				for(Entry<DuccId, IDuccProcess> entry : map.entrySet()) {
+					IDuccProcess proc = entry.getValue();
+					NodeIdentity nodeIdentity = proc.getNodeIdentity();
+					String host = nodeIdentity.getName();
+					if(host != null) {
+						String pid = proc.getPID();
+						if(pid != null) {
+							String remotePid = pid+"@"+host;
+							list.add(remotePid);
+							duccLogger.debug(location, duccId, remotePid);
+						}
+					}
+				}
+			}
+			else {
+				duccLogger.debug(location, duccId, "map is empty");
+			}
+		}
+		else {
+			duccLogger.debug(location, duccId, "map is null");
+		}
+		return list;
+	}
 }