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 2014/07/10 16:16:21 UTC

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

Author: degenaro
Date: Thu Jul 10 14:16:21 2014
New Revision: 1609467

URL: http://svn.apache.org/r1609467
Log:
UIMA-3921 DUCC Job Driver (JD) fails to validate the existence of the worker thread when performing regularly scheduled state publication

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

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriverComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriverComponent.java?rev=1609467&r1=1609466&r2=1609467&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriverComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriverComponent.java Thu Jul 10 14:16:21 2014
@@ -189,12 +189,17 @@ implements IJobDriverComponent {
 	
 	protected void publisher() {
 		String methodName = "publisher";
-		PerformanceSummaryWriter performanceSummaryWriter = thread.getPerformanceSummaryWriter();
-		if(performanceSummaryWriter == null) {
-			duccOut.debug(methodName, null, duccMsg.fetch("performanceSummaryWriter is null"));
+		if(thread != null) {
+			PerformanceSummaryWriter performanceSummaryWriter = thread.getPerformanceSummaryWriter();
+			if(performanceSummaryWriter == null) {
+				duccOut.debug(methodName, null, duccMsg.fetch("performanceSummaryWriter is null"));
+			}
+			else {
+				performanceSummaryWriter.writeSummary();
+			}
 		}
 		else {
-			performanceSummaryWriter.writeSummary();
+			duccOut.debug(methodName, null, "thread is null");
 		}
 	}
 	
@@ -202,35 +207,36 @@ implements IJobDriverComponent {
 		String methodName = "getState";
 		duccOut.trace(methodName, null, duccMsg.fetch("enter"));
 		JdStateDuccEvent jdStateDuccEvent = new JdStateDuccEvent();
-		if(active.get()) {
-			publicationCounter.addAndGet(1);
-			try {
-				duccOut.debug(methodName, null, duccMsg.fetch("publishing state"));
+		if(thread != null) {
+			if(active.get()) {
+				publicationCounter.addAndGet(1);
 				try {
-					if(thread != null) {
+					duccOut.debug(methodName, null, duccMsg.fetch("publishing state"));
+					try {
 						thread.rectifyStatus();
 					}
+					catch(Throwable t) {
+						duccOut.warn(methodName, null, t);
+					}
+					DriverStatusReport dsr = driverStatusReport;
+					if(dsr == null) {
+						duccOut.debug(methodName, null, duccMsg.fetch("dsr is null"));
+					}
 					else {
-						duccOut.debug(methodName, null, duccMsg.fetch("thread is null"));
+						duccOut.debug(methodName, null, "driverState:"+dsr.getDriverState());
+						duccOut.debug(methodName, dsr.getDuccId(), dsr.getLogReport());
+						jdStateDuccEvent.setState(dsr);
 					}
+					publisher();
 				}
-				catch(Throwable t) {
+				catch(Exception e) {
+					duccOut.error(methodName, null, e);
 				}
-				DriverStatusReport dsr = driverStatusReport;
-				if(dsr == null) {
-					duccOut.debug(methodName, null, duccMsg.fetch("dsr is null"));
-				}
-				else {
-					duccOut.debug(methodName, null, "driverState:"+dsr.getDriverState());
-					duccOut.debug(methodName, dsr.getDuccId(), dsr.getLogReport());
-					jdStateDuccEvent.setState(dsr);
-				}
-				publisher();
-			}
-			catch(Exception e) {
-				duccOut.error(methodName, null, e);
 			}
 		}
+		else {
+			duccOut.debug(methodName, null, "thread is null");
+		}
 		duccOut.trace(methodName, null, duccMsg.fetch("exit"));
 		return jdStateDuccEvent;
 	}