HDFGroup / vol-rest

HDF5 REST VOL Connector
Other
5 stars 8 forks source link

VOL should not assume all filters are optional upon re-opening dataset #90

Open mattjala opened 11 months ago

mattjala commented 11 months ago

The library's filter pipeline has an optional/mandatory flag associated with each filter. Optional filters should be skipped if they fail for whatever reason, while a failure with a mandatory filter should cause the operation to fail. Wrappers that set particular filters (e.g. H5Pset_deflate, H5Pset_szip) always mark them as optional. Setting the filters using H5Pset_filter lets the user decide the optional/mandatory flag for each filter.

At the moment, the REST VOL uses wrapper functions to construct filter pipelines on re-opened datasets, setting their required parameter to "optional" in all cases. This is likely the source of this issue.

It would be possible for the REST VOL to work around this by replacing calls to wrappers with use of H5Pset_filter that preserve the required flag, but this would involve duplicating setup work done by each of those wrapper functions.