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/01/24 21:09:38 UTC

svn commit: r1438155 - /uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java

Author: degenaro
Date: Thu Jan 24 20:09:38 2013
New Revision: 1438155

URL: http://svn.apache.org/viewvc?rev=1438155&view=rev
Log:
UIMA-2597 Job Driver (JD) now adds the Exception stack trace to jd.err.log for failing work items, facilitating user diagnosis of problem DUCC Jobs so encumbered.

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java?rev=1438155&r1=1438154&r2=1438155&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java Thu Jan 24 20:09:38 2013
@@ -1172,7 +1172,7 @@ public class JobDriver extends Thread im
 		switch(directive) {
 		case ProcessContinue_CasNoRetry:
 			duccOut.info(location, workItem.getJobId(), workItem.getProcessId(), message);
-			workItemError(workItem, directive);
+			workItemError(workItem, e, directive);
 			remove(workItem);
 			casSource.recycle(workItem.getCAS());
 			accountingWorkItemIsError(workItem.getProcessId());
@@ -1182,7 +1182,7 @@ public class JobDriver extends Thread im
 			break;
 		case ProcessStop_CasNoRetry:
 			duccOut.info(location, workItem.getJobId(), workItem.getProcessId(), message);
-			workItemError(workItem, directive);
+			workItemError(workItem, e, directive);
 			remove(workItem);
 			casSource.recycle(workItem.getCAS());
 			accountingWorkItemIsError(workItem.getProcessId());
@@ -1277,15 +1277,19 @@ public class JobDriver extends Thread im
 		workItemError(workItem, e, null);
 	}
 	
+	/*
 	private void workItemError(WorkItem workItem, Directive directive) {
 		workItemError(workItem, null, directive);
 	}
+	*/
 	
 	private void workItemError(WorkItem workItem, Exception e, Directive directive) {
 		String location = " workItemError";
 		driverStatusReport.countWorkItemsProcessingError();
 		String nodeId = "?";
 		String pid = "?";
+		DuccId djid = workItem.getJobId();
+		DuccId dpid = workItem.getProcessId();
 		try {
 			String key = ""+workItem.getCAS().hashCode();
 			if(casDispatchMap.containsKey(key)) {
@@ -1295,19 +1299,21 @@ public class JobDriver extends Thread im
 					pid = threadLocation.getProcessId();
 				}
 			}
-			String workItemId = "seqNo:"+workItem.getSeqNo()+" "+"wiId:"+workItem.getCasDocumentText()+" "+"node:"+nodeId+" "+"PID:"+pid;
+			String message = "seqNo:"+workItem.getSeqNo()+" "+"wiId:"+workItem.getCasDocumentText()+" "+"node:"+nodeId+" "+"PID:"+pid;
+			if(directive != null) {
+				message += " "+"directive:"+directive;
+			}
+			
+			duccOut.error(location, djid, dpid, message);
+			duccErr.error(location, djid, dpid, message);
 			if(e != null) {
-				duccOut.error(location, workItem.getJobId(), workItem.getProcessId(), workItemId, e);
-				duccErr.error(location, workItem.getJobId(), workItem.getProcessId(), workItemId, e);
-			}
-			else {
-				duccOut.error(location, workItem.getJobId(), workItem.getProcessId(), workItemId+" "+"directive:"+directive);
-				duccErr.error(location, workItem.getJobId(), workItem.getProcessId(), workItemId+" "+"directive:"+directive);
+				duccOut.error(location, djid, dpid, e);
+				duccErr.error(location, djid, dpid, e);
 			}
 		}
 		catch(Exception exception) {
-			duccOut.error(location, workItem.getJobId(), workItem.getProcessId(), exception);
-			duccErr.error(location, workItem.getJobId(), workItem.getProcessId(), exception);
+			duccOut.error(location, djid, dpid, exception);
+			duccErr.error(location, djid, dpid, exception);
 		}
 	}