diff options
author | freva <valerijf@yahoo-inc.com> | 2016-11-30 14:51:11 +0100 |
---|---|---|
committer | freva <valerijf@yahoo-inc.com> | 2016-11-30 14:51:11 +0100 |
commit | 65ccf1102c7e30d386939cd12abe16f60cd4a598 (patch) | |
tree | b61d1c8d39855da621f0514b02cbb9560c614be2 /docproc | |
parent | d6d924d03e8bfa51949eb30d2cd8082036d30bd0 (diff) |
Make it possible to return failure reason in docproc
Diffstat (limited to 'docproc')
-rw-r--r-- | docproc/src/main/java/com/yahoo/docproc/DocumentProcessor.java | 18 | ||||
-rw-r--r-- | docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingTask.java | 4 |
2 files changed, 18 insertions, 4 deletions
diff --git a/docproc/src/main/java/com/yahoo/docproc/DocumentProcessor.java b/docproc/src/main/java/com/yahoo/docproc/DocumentProcessor.java index cb272a1d151..dffa4b66213 100644 --- a/docproc/src/main/java/com/yahoo/docproc/DocumentProcessor.java +++ b/docproc/src/main/java/com/yahoo/docproc/DocumentProcessor.java @@ -2,13 +2,12 @@ package com.yahoo.docproc; import com.yahoo.collections.Pair; -import com.yahoo.component.ComponentId; -import com.yahoo.component.Version; import com.yahoo.component.chain.ChainedComponent; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; +import java.util.Optional; import java.util.logging.Logger; /** @@ -104,18 +103,33 @@ public abstract class DocumentProcessor extends ChainedComponent { private String name; + private Optional<String> reason = Optional.empty(); + protected Progress(String name) { this.name = name; } + protected Progress(String name, String reason) { + this(name); + this.reason = Optional.of(reason); + } + public static Progress later(long delay) { return new LaterProgress(delay); } + public Progress withReason(String reason) { + return new Progress(this.name, reason); + } + public String toString() { return name; } + public Optional<String> getReason() { + return reason; + } + public boolean equals(Object object) { return object instanceof Progress && ((Progress) object).name.equals(this.name); } diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingTask.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingTask.java index 7e92e8eb5a1..c35c56bba7b 100644 --- a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingTask.java +++ b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingTask.java @@ -141,12 +141,12 @@ public class DocumentProcessingTask implements Comparable<DocumentProcessingTask } else if (DocumentProcessor.Progress.FAILED.equals(progress)) { logProcessingFailure(processing, null); requestContext.processingFailed(RequestContext.ErrorCode.ERROR_PROCESSING_FAILURE, - "Document processing failed."); + progress.getReason().orElse("Document processing failed.")); return progress; } else if (DocumentProcessor.Progress.PERMANENT_FAILURE.equals(progress)) { logProcessingFailure(processing, null); requestContext.processingFailed(RequestContext.ErrorCode.ERROR_PROCESSING_FAILURE, - "Document processing failed."); + progress.getReason().orElse("Document processing failed.")); return progress; } } |