-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[df] Add RNTupleWriteOptions
to RSnapshotOptions
and add format-compatibility checks
#19976
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
base: master
Are you sure you want to change the base?
Conversation
Test Results 22 files 22 suites 3d 21h 49m 9s ⏱️ Results for commit cb535da. ♻️ This comment has been updated with latest results. |
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.
LGTM.
// compression settings in fNTupleWriteOpts have not been changed, and the compression algorithm or level in fOptions | ||
// have. | ||
if (fOptions.fNTupleWriteOpts.GetCompression() == RCompressionSetting::EDefaults::kUseGeneralPurpose && | ||
(fOptions.fCompressionAlgorithm != RCompressionSetting::EAlgorithm::kZLIB || |
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.
I think that leaves the possibility that a user explicitly sets fCompression... to what happens to be the current default, but then is surprised because RNTuple doesn't pick it up but continue to use its zstd default. I don't have a good solution though, maybe that's ok.
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.
Hmm, good point. Perhaps to avoid situations like these it might be better to also warn users for fCompression...
, and require them to be set through fNTupleWriteOpts
only.
b94a6b8
to
12b5c24
Compare
N.B., compression settings that have been set directly through the snapshot options are propagated to the RNTuple write options, provided that they haven't been set there as well.
... and warn users when an option has been set that has no effect on the chosen output format.
12b5c24
to
cb535da
Compare
For snapshotting to RNTuple, users can now pass an
RNTupleWriteOptions
toRSnapshotOptions
to configure the output RNTuple. Compression settings that have been set directly throughRSnapshotOptions::fCompressionAlgorithm
andRSnapshotOptions::fCompressionLevel
are propagated toRSnapshotOptions::fNTupleWriteOpts
, provided that they haven't been set there already as well.In addition, a check has been added to warn users when they set options that are specific to one output format, but
RSnapshotOptions.fOutputFormat
has been set to use the other.Closes #19784.