Fix NPE in DatasetDirectoryService.reportJobFailure

Change-Id: I4c27d2133d199bbb6984f8da14e37b2e511528ac
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1582
Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
BAD: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/dataset/DatasetDirectoryService.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/dataset/DatasetDirectoryService.java
index 927d499..8fd15f9 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/dataset/DatasetDirectoryService.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/dataset/DatasetDirectoryService.java
@@ -159,9 +159,10 @@
         if (djr != null) {
             djr.fail(exceptions);
         }
-        // TODO(tillw) throwing an NPE here hangs the system, why?
-        // TODO(tillw) still run into NPE here ..
-        jobResultLocations.get(jobId).setException(exceptions.isEmpty() ? null : exceptions.get(0));
+        final JobResultInfo jobResultInfo = jobResultLocations.get(jobId);
+        if (jobResultInfo != null) {
+            jobResultInfo.setException(exceptions.isEmpty() ? null : exceptions.get(0));
+        }
         notifyAll();
     }