-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[ntuple] add fMaxKeySize field to RNTuple anchor #15504
[ntuple] add fMaxKeySize field to RNTuple anchor #15504
Conversation
c43f3ed
to
d91194d
Compare
Test Results 10 files 10 suites 1d 21h 44m 16s ⏱️ For more details on these failures, see this check. Results for commit 3408a44. ♻️ This comment has been updated with latest results. |
6409519
to
37b61f5
Compare
Also change RNTuple::Streamer to manually unpack its fields from the buffer according to its version, rather than relying on buf.ReadClassBuffer(). This is necessary to handle schema evolution on the RNTuple anchor itself.
37b61f5
to
3408a44
Compare
if (classVersion > 4) | ||
buf >> fMaxKeySize; | ||
buf >> fChecksum; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's much better than it was before but still not forward compatible. After reading the last known member, we should skip all but the last 8 bytes, which we stream into the checksum member. I think we should also first make a check on the buffer size to make sure we can actually stream the number of bytes we are going to stream.
Could you put up this patch to reading the RNTuple anchor as a separate PR? I think this may be something that we even want to backport to the 6.32 branch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will open a new PR after #15553 is merged |
This Pull request:
std::uint64_t fMaxKeySize
field to the RNTuple structTODO
Checklist: