-
Notifications
You must be signed in to change notification settings - Fork 33
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
Stored ImageStreams are invalid #92
Comments
Reading that paragraph does not seem to suggest that this is incorrect behavior:
We are setting the null compressor explicitly which is not forbidden. It is also clearer since we are less open to interpretations of the default value. |
Ahh sorry - this commit actually fixes issue #94 |
So the main issue here is that aff4:NullCompressor is actually not defined in the spec at all. Instead the spec suggests that if the property is omitted it indicates that null compression is implied: i.e. if the writer intends to indicate no compression was used they should not include the property at all. We have a couple of options:
In a sense the issue is that Evimetry is more strict in the type of images it is willing to read so we need to produce images that follow the exact interpretation of the spec to make sure our images are properly supported by Evimetry readers. We should continue to be flexible in the type of images we can read though and accept either way if we can. I feel that the path of least resistance is for us to change to increase interoperability - moving forward Evimentry can read our stored images which it can not now and we can read our stored images as normal either way (old ones or new ones). The discussion about the 1.1 standard is orthogonal and separate. |
it turns out that we have been using the NullCompressor lexicon element for this in Evimetry all along - it is only missing from pyaff4. Given this is the case, I no longer think we need to take the spec so literally, and think it is safe to treat the NullCompressor as errata to the 1.0 spec and fix pyaff4. |
When not using compression, libaff4 generates the wrong metadata for the relevant ImageStream. Eg:
aff4:compressionMethod aff4:NullCompressor ;
In this case it should not store a compressionMethod. From the spec v1
"Where compression is used within the Image Stream, the object must have a property aff4:compressionMethod set to a resource identifying the compression algorithm. Where there is no compressionMethod set, it is assumed that chunks are stored."
The text was updated successfully, but these errors were encountered: