-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unable to read attributes when the size of attribute lists is relatively big #41
Comments
@jduan8109 Can you provide additional details or an example of this behavior? Either would make debugging the issue much easier. |
@jjhelmus , thanks. I am trying to load a netcdf4 file in with your code. When i have a short list of attributes in the data like this: //group attributes |
@jduan8109 I don't think I've seen this, and I'm in the process of providing some improvements to pyfive. If you're still interested, and it's still a problem, could I trouble you to create a little netcdf file with just the attributes which cause the problem, and upload it here? |
@jduan8109 we don't need more details! One of my colleagues has just exposed what I now believe to be the same issue (NCAS-CMS#23). While he found it using our fork, I've tested it with the current master from here, and his 'B file" also returns an empty attribute set ... His original file is here, the h5dump of that file is here: h5B.txt |
Ok, I think I can see where the problem comes from:
and there is definitely a message of type 21 in the offending file ( |
From the docs: Name: Attribute Info Message Description:This message stores information about the attributes on an object, such as the maximum creation index for the attributes created and the location of the attribute storage when the attributes are stored "densely". Format of Data: |
@jjhelmus I realise you're not wanting to do anything here, but I wondered if you could confirm my supposition here of what is going on here (I've not needed to get down to this level before): It looks to me like when there are a lot of attributes they are going to stored with each attribute stored in "the fractal heap" (so I need to find out where that is, and how things are stored there), and the address of the object in that heap will be stored using a regular b-tree. I am thinking I should be able to find the size and length of each object from the b-tree (which will hopefully be accessible using your existing b-tree code), and that somewhere there will be a table that allows me to work out how to decode the objects stored in that b-tree (or the objects will just be regular attribute messages). |
I should have googled this before. I see that @bmaranville and @woutdenolf |
(never mind, I've found my way into it, am currently in the fractal heap trying to debug why it's not working, I've already got a "new" BTree subclass for these things ...) |
I have a test and fixes which now pass in my h5netcdf branch which should be incoming (the critical path to delivering you a pull request is NCAS-CMS#21). |
No description provided.
The text was updated successfully, but these errors were encountered: