Skip to content

Latest commit

 

History

History
70 lines (70 loc) · 4.38 KB

TODO.org

File metadata and controls

70 lines (70 loc) · 4.38 KB

Bring H5VL_class_t up to date with 1.13

Add empty structs (full of NULL) for items that weren’t present in past versions

Set minimum version to 1.13 in cmake (develop)

Change arguments in H5VL_rados_dataset_get and H5VL_rados_file_specific to match new arguments

These have the same issue where the va_list method of specifying arguments was changed

For H5VL_rados_file_specific, there’s an htri_t that was changed to an hbool_t also, I think htri_t is just a 3-value struct approximating a boolean

Refactoring

H5E_ATOM -> H5E_ID

H5Shyper_adjust_s -> H5Sselect_adjust

H5Shyper_intersect_block -> H5Sselect_intersect_block

H5VL_DATASET_GET_OFFSET, H5VL_FILE_MOUNT, and H5VL_FILE_UNMOUNT cases removed

H5VLis_connector_registered -> H5VLis_connector_registered_by_name

H5VLget_connector_id -> H5VLget_connector_id_by_name

More than refactoring

H5Sselect_adjust_u -> H5Sselect_adjust

This causes an issue, as start_coords is now hssize_t instead of hsize_t as in H5Sselect_adjust_u. I suspect this is to accomodate a broader change for H5Sselect to support hyperslab selection

I did a simple but ugly fix, creating a copy with the correct type.

H5Sselect_release -> ?

Replacement candidate is private, unclear what is to be done

I just removed it, could cause errors.

H5Pget_all_coll_metadata_ops -> ?

This one’s a bit strange, it’s implemented in H5Pfapl.c, and externalized in H5Ppublic.h, but somehow it still isn’t known.

I’m leaving the warning in for now in the hope that it doesn’t cause issues

H5Sset_extent_real -> H5Sset_extent_simple

There are replacement candidates, but arguments changed. I’ll attempt replacement with H5Sset_extent_simple

I performed the change, wasn’t sure what to do with the max size of dimensions so I set it to NULL which makes it the same size as dims.

Fix address-based referencing

H5VL_OBJECT_BY_ADDR and H5VL_loc_params_t.loc_data.loc_by_addr are no longer available, replace with token (or name, or idx) equivalents and modify code to use different method from addrs

I can confirm that the intended replacement is by_token

I’ve done the replacement, but not yet sure if it will work or not.

Create introspection functions

These are new functions which seem important, modeling them off of the daos ones

I’ve created these, may need to return later to modify them (especially opt_query)

Investigate unsupported or failing features

Failing

file_specific

Seems like reopen specifically isn’t supported in current version so we can ignore those failures for now

group_create

Some of this is anonymous not being supported, that was there before so we can ignore it for now

It doesn’t seem to be just that, but it’s difficult to tell exactly what the issue is

dataset_create

This seems to be just anon dataset creation

dataset_write

Something where it can’t select properly

Unsupported

Implement file_get

link_create

link_specific

object_specific

datatype_commit

attr_create

object_copy

object_open

etc. (there are a lot of unsupported things)

Something is failing when writing to datasets with multiple chunks

Testing write to dataset with multiple chunks using same shaped dataspaces

H5Sget_simple_extent_npoints gives not a dataspace at line 1448

Lots of similar things give similar errors here

Issues with small reads

Testing small read from dataset with H5S_ALL gives “couldn’t read from dataset ‘dataset_small_read_all_dset’” due to line 1216 giving a “no such file or directory” error

Testing small read from dataset with a hyperslab selection

Testing small read from dataset with a point selection

These are all small read tests, so there is an issue with the small reads

Testing write to dataset with one rank selecting 0 rows encounters same issue

Testing write to dataset with one rank using ‘none’ selection

examples of failing chunk_oid values

02vol_test_parallel.h5400000000000001100000000000000000000000000000000

03vol_test.h540000000000001AA000000000000000000000000000000000000000000000000

This is a weird one, H5VL_rados_oid_create_chunk is not calling any rados calls to create chunk_oid object, but then there’s a read_op_operate on chunk_oid in spite of that

I think this might be related to mobject, as there’s an mobject mapping which does this thing by default