-
Notifications
You must be signed in to change notification settings - Fork 125
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
Blosc: Warn Unknown Parameters #2715
Blosc: Warn Unknown Parameters #2715
Conversation
Warn the user if unknown parameters are passed to the blosc compressor. Otherwise, typos get quickly unnoticed.
5c0de15
to
806a553
Compare
Unfortunately, parameters don't work like that. Blosc gets all the parameters passed to the engine. It can pull off the ones that it understands, but it can't assume that the ones that it doesn't understand are invalid. They may be typos, or they may just be meant for another ADIOS component. To properly detect invalid parameters, we have to have a global registry or something like that. We've talked about it, but not done it. We don't seem to have an issue on it though. May I suggest closing this PR and opening an issue instead? |
If I do not miss something the parameters passed are hierarchically organized and belong to a compressor. Invalid parameters should not be part of another compressor. IMO throwing a warning for an unknown compressor should be fine.
|
Hmm. Looks like you may be right. Not sure what I was recalling... |
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.
Okay I had a check in the compression operator code. The compressor parameters are generated when user applications add operations to a variable. This is separated from the engine parameters or any other parameters. So in principle this vector should not include anything other than the designed parameters for the specific compressor. So it should be fine to give some notifications when an invalid parameter is caught.
The only thing we may need to think later is whether we should output it to std::cerr or throw an exception. Also we need to add this for other compressors as well.
Warn the user if unknown parameters are passed to the blosc compressor. Otherwise, typos get quickly unnoticed.
cc @psychocoderHPC @franzpoeschel