Closed jpswinski closed 9 months ago
Another related issue came up recently when we tried to perform a data type conversion using the REST-VOL and the conversion was from a larger datatype (double precision floating point) to a smaller datatype (32-bit integer). The code did not crash, but returned garbage.
It appears that the REST-VOL does not perform any data type conversions at all, and provides no error to the calling function when a read requires a conversion.
HSDS does not currently support type conversion. If we want to do this on the client side the rest-vol would need to do so. In the meantime we should disable type conversion within the rest vol to avoid a segmentation fault.
Type conversion is handled in #72.
It appears that when reading a dataset using REST VOL, if the size of the datatype supplied to the read does not match the size of the datatype of the dataset, then the code crashes. I was able to read the local file's dataset using libhdf5 with no issues, and the same dataset read from the HSDS file crashed. I did not investigate further.
Here is the stack trace: