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 2016/03/09 14:04:35 UTC

svn commit: r1734233 - /uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java

Author: degenaro
Date: Wed Mar  9 13:04:35 2016
New Revision: 1734233

URL: http://svn.apache.org/viewvc?rev=1734233&view=rev
Log:
UIMA-4800 DUCC Job Driver (JD) CR error causes NPE

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java?rev=1734233&r1=1734232&r2=1734233&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java Wed Mar  9 13:04:35 2016
@@ -629,9 +629,13 @@ public class StateManager {
 							case EndOfJob:
 								try {
 									int errors = jdStatusReport.getWorkItemsProcessingError();
+									int done = jdStatusReport.getWorkItemsProcessingCompleted();
 									if(errors > 0) {
 										setCompletionIfNotAlreadySet(duccWorkJob, JobCompletionType.Error, new Rationale("state manager detected error work items="+errors));
 									}
+									else if(done == 0) {
+										setCompletionIfNotAlreadySet(duccWorkJob, JobCompletionType.EndOfJob, new Rationale("state manager detected no work items processed"));
+									}
 									else {
 										setCompletionIfNotAlreadySet(duccWorkJob, JobCompletionType.EndOfJob, new Rationale("state manager detected normal completion"));
 									}
@@ -639,9 +643,6 @@ public class StateManager {
 								catch(Exception e) {
 									logger.error(methodName, duccId, e);
 								}
-								finally {
-									setCompletionIfNotAlreadySet(duccWorkJob, JobCompletionType.EndOfJob, new Rationale("state manager detected normal completion"));
-								}
 								break;
 							default:
 								setCompletionIfNotAlreadySet(duccWorkJob, jdStatusReport);
@@ -1484,9 +1485,13 @@ public class StateManager {
 											OrchestratorCommonArea.getInstance().getProcessAccounting().deallocate(job,ProcessDeallocationType.Stopped);
 											IRationale rationale = new Rationale("state manager reported as normal completion");
 											int errors = job.getSchedulingInfo().getIntWorkItemsError();
+											int done = job.getSchedulingInfo().getIntWorkItemsCompleted();
 											if(errors > 0) {
 												setCompletionIfNotAlreadySet(job, JobCompletionType.Error, new Rationale("state manager detected error work items="+errors));
 											}
+											else if(done == 0) {
+												setCompletionIfNotAlreadySet(job, JobCompletionType.EndOfJob, new Rationale("state manager detected no work items processed"));
+											}
 											// <UIMA-3337>
 											else {
 												setCompletionIfNotAlreadySet(job, JobCompletionType.EndOfJob, rationale);