This is an automated email from the ASF dual-hosted git repository.

mboehm7 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git

commit 42a131923c92e2603b5933dbfb7822260e7de0cb
Author: Matthias Boehm <[email protected]>
AuthorDate: Fri Jul 14 20:10:38 2023 +0200

    [MINOR] Fix robustness and error handling of reading HDF5 datasets
---
 src/main/java/org/apache/sysds/lops/Data.java          | 4 ++--
 src/main/java/org/apache/sysds/runtime/io/hdf5/H5.java | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/apache/sysds/lops/Data.java 
b/src/main/java/org/apache/sysds/lops/Data.java
index fc33f0d228..93552852f2 100644
--- a/src/main/java/org/apache/sysds/lops/Data.java
+++ b/src/main/java/org/apache/sysds/lops/Data.java
@@ -576,8 +576,8 @@ public class Data extends Lop
        private String createVarHDF5Helper() {
                StringBuilder sb = new StringBuilder();
                if ( _op.isRead() ) {
-                       Data datasetNameLop = (Data) 
getNamedInputLop(DataExpression.HDF5_DATASET_NAME);
-                       sb.append(datasetNameLop.getStringValue());
+                       Data dataset = (Data) 
getNamedInputLop(DataExpression.HDF5_DATASET_NAME);
+                       sb.append(dataset != null ? dataset.getStringValue() : 
"*");
                        sb.append(OPERAND_DELIMITOR);
                }
                else { // (operation == OperationTypes.WRITE)
diff --git a/src/main/java/org/apache/sysds/runtime/io/hdf5/H5.java 
b/src/main/java/org/apache/sysds/runtime/io/hdf5/H5.java
index ea9ea95058..858f18c39c 100644
--- a/src/main/java/org/apache/sysds/runtime/io/hdf5/H5.java
+++ b/src/main/java/org/apache/sysds/runtime/io/hdf5/H5.java
@@ -133,7 +133,7 @@ public class H5 {
                        String childName = Utils.readUntilNull(nameBuffer);
 
                        if(!childName.equals(datasetName)) {
-                               throw new H5RuntimeException("The dataset name 
'" + datasetName + "' not found!");
+                               throw new H5RuntimeException("The requested 
dataset '" + datasetName + "' differs from available '"+childName+"'.");
                        }
 
                        final H5ObjectHeader header = new 
H5ObjectHeader(rootObject, symbolTableEntry.getObjectHeaderAddress());

Reply via email to