ResultWriterOperatorDescriptor fail() NPE on open() failure

Conform to IFrameWriter contract for fail()

Change-Id: I613dcae32596af43476cf61d0245bfed258359de
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1834
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>
Reviewed-by: Till Westmann <tillw@apache.org>
diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultWriterOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultWriterOperatorDescriptor.java
index 78417ac..58eee79 100644
--- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultWriterOperatorDescriptor.java
+++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultWriterOperatorDescriptor.java
@@ -112,7 +112,9 @@
             @Override
             public void fail() throws HyracksDataException {
                 failed = true;
-                datasetPartitionWriter.fail();
+                if (datasetPartitionWriter != null) {
+                    datasetPartitionWriter.fail();
+                }
             }
 
             @Override