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;
+ }
}