[NO ISSUE][OTH] Skip Result Metadata Updates on No Result

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Do not attempt to update the result metadata when a job
  has no result to avoid NPE.

Change-Id: I1ccae6003048f45344a5b7843a25c61d6a7bd366
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3408
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Hussain Towaileb <hussainht@gmail.com>
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java
index 30814c6..ecf92a0 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java
@@ -25,6 +25,7 @@
 import org.apache.hyracks.api.job.JobId;
 import org.apache.hyracks.api.result.IJobResultCallback;
 import org.apache.hyracks.api.result.ResultJobRecord;
+import org.apache.hyracks.api.result.ResultSetMetaData;
 import org.apache.hyracks.control.cc.ClusterControllerService;
 import org.apache.hyracks.control.cc.job.IJobManager;
 import org.apache.hyracks.control.cc.job.JobRun;
@@ -53,7 +54,11 @@
     }
 
     private void updateResultMetadata(JobId jobId, ResultJobRecord resultJobRecord) {
-        final ResultMetadata metadata = (ResultMetadata) resultJobRecord.getResultSetMetaData().getMetadata();
+        final ResultSetMetaData resultSetMetaData = resultJobRecord.getResultSetMetaData();
+        if (resultSetMetaData == null) {
+            return;
+        }
+        final ResultMetadata metadata = (ResultMetadata) resultSetMetaData.getMetadata();
         metadata.setJobDuration(resultJobRecord.getJobDuration());
         metadata.setProcessedObjects(getJobProccssedObjects(jobId));
     }