[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);
         }