[NO ISSUE][OTH] Skip Calling Job Result Callback For Unknown Jobs
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Skip calling the job result callback on a job's completion
when the job's result record is not found. This can happen
if a job's execution time exceeds the result's TTL in which
case we remove the job's result reference.
Change-Id: I7ba09da4292213b63d2396d21969329e86634c06
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3439
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
Reviewed-by: Hussain Towaileb <hussainht@gmail.com>
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/result/ResultDirectoryService.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/result/ResultDirectoryService.java
index bfecc48..9f8a7e2 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/result/ResultDirectoryService.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/result/ResultDirectoryService.java
@@ -96,7 +96,10 @@
@Override
public void notifyJobFinish(JobId jobId, JobStatus jobStatus, List<Exception> exceptions) throws HyracksException {
if (exceptions == null || exceptions.isEmpty()) {
- final ResultJobRecord resultJobRecord = getNonNullResultJobRecord(jobId);
+ final ResultJobRecord resultJobRecord = getResultJobRecord(jobId);
+ if (resultJobRecord == null) {
+ return;
+ }
resultJobRecord.finish();
jobResultCallback.completed(jobId, resultJobRecord);
}