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
[COMPAT] New split mode for forward compatibility by default #216
Conversation
…splitmode() for selecting another split mode.
Adresses #215. |
The patch looks good to me. Very nice to add tests for previous formats. Should we add a note in the format description in Am I correct assuming the threadsafe API (I am a colleague to @estan) |
The tests are not there yet (only the files), but my plan is to add them soon.
Yes, the plan is to add a section about this in the RELEASE_NOTES.rst. However, the format has not changed this time; the change is only about having the split flag activated or not by default, so there should be not a need to change README_HEADER.rst. The main message in the release notes should be: "from now on, all the buffers created starting with blosc 1.14.0 will be forward compatible with any previous versions of the library, at least until 1.3.0, when support for multi-codecs was introduced, and that of zstd codec is not used (zstd was introduced in 1.11.0). Versions from 1.11.0 to 1.14.0 might generate buffers that cannot be read with versions < 1.11.0 (this was due to a forward incompatible change introduced in 1.11.1).".
Yes. The new 'BLOSC_FORWARD_COMPAT_SPLIT' mode will be the default for all the compression functions. And the |
I was unclear, I meant the format change done in 9d06255. To avoid similar problems in future we should check that the reserved bits are zeros (I can make a pull request). Your suggested release note sounds detailed and good! |
I see. Agreed, I should have bumped the |
This looks great. Some comments: I think the explanation of what But, I'm actually a little worried about the naming here. If I casually read Correct me if I'm wrong, but it is in fact the How about naming it like this:
The advantage is that when a user sees
and when a user sees |
Sorry, my bad! I had missed the fact that zstd was introduced in the very same version as the no splitting stuff (I thought it was a couple of releases earlier). So the names do indeed make sense. |
New public function
blosc_set_splitmode()
for selecting another split mode than default. The supported ones are:Still need to implement support for setting the split mode via environment variables.