-
Notifications
You must be signed in to change notification settings - Fork 60
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
Fix RNTuple writer after API break in ROOT #547
Conversation
It looks like RNTuple is undergoing some API work on the ROOT side, so it probably makes sense fix things in one go, once that is done. Coming back to this, once that is the case. |
This isn't needed with ROOT 6.30.04 released a few days ago but the PRs that change the API are not in any tag yet |
Yeah, they will presumably be part of 6.32. I am still waiting for the message from the root devs to see how this looks afterwards. Then we can see whether we can have both versions or whether we need to bump the minimal root version for RNTuple support. |
Things should be more stable again in ROOT, so we could try to revive this. |
c2d3ce2
to
2b7dee6
Compare
I got things to work again for the writing side, where it was really mainly an API change as far as I can tell. I have kept backwards compatibility using pre-processor version checks for now. On the reading side the API has changed a bit more drastically and things are not yet compiling, mainly because auto reader = ROOT::Experimental::RNTupleReader{};
auto entry = reader.GetModel()->GetDefaultEntry();
auto buffers = BufferFactory::createBuffers("<coll-type>", schemaVersion);
dentry->CaptureValueUnsafe("<branch-name>", buffers.data);
reader.LoadEntry(entry);
|
Instead of using the default entry, you can create a dedicated entry with On the entry, you can call |
2b7dee6
to
4653166
Compare
Thanks for the pointers. Things are compiling again now, but there is an error in the test that reads back the rntuple file again. I have to figure out whether the problem is on the writing or on the reading side. |
@jblomer do I have to do something more than |
Apologies, this last comment slipped through! What you describe sounds correct. You use I think what is missing is poassing that entry to |
4653166
to
1baf596
Compare
No worries. The information would have been readily available from the documentation, if I had read that a bit more carefully. ;) This seems to do the trick. I am not entirely sure why but I realized that we need to Thanks again for your help. |
d1b156e
to
f0c6cbd
Compare
Merging this since the RNTuple I/O is fixed with ROOT master. The remaining failing tests are unrelated and possibly due to other upstream ROOT changes. They are partially addressed in #575 and will be fully fixed in another PR. |
BEGINRELEASENOTES
ENDRELEASENOTES