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/06/15 15:33:42 UTC

svn commit: r1685579 - /uima/sandbox/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/ErrorHandler.java

Author: degenaro
Date: Mon Jun 15 13:33:42 2015
New Revision: 1685579

URL: http://svn.apache.org/r1685579
Log:
UIMA-4465 DUCC Job Driver (JD) does not handle work item timeouts properly

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/ErrorHandler.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/ErrorHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/ErrorHandler.java?rev=1685579&r1=1685578&r2=1685579&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/ErrorHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/ErrorHandler.java Mon Jun 15 13:33:42 2015
@@ -115,17 +115,25 @@ public class ErrorHandler implements IEr
 	}
 	
 	@Override
-	public IErrorHandlerDirective handle(String serializedCAS, Object byteArray) {
+	public IErrorHandlerDirective handle(String serializedCAS, Object object) {
 		ErrorHandlerDirective jdUserDirective = new ErrorHandlerDirective();
 		try {
 			Throwable userThrowable = null;
 			if(serializedCAS != null) {
 				// CAS is provided
 			}
-			if(byteArray != null) {
-				userThrowable = Transformer.deserialize(byteArray);
-				userThrowable.getClass();
-				// Exception is provided
+			if(object != null) {
+				// JD exception (e.g. timeout)
+				if(object instanceof Exception) {
+					userThrowable = (Throwable) object;
+					userThrowable.getClass();
+				}
+				// User code exception
+				else {
+					Object byteArray = object;
+					userThrowable = Transformer.deserialize(byteArray);
+					userThrowable.getClass();
+				}
 			}
 			jobErrorCount.incrementAndGet();
 			if(jobErrorCount.get() > jobErrorLimit.get()) {