-
Notifications
You must be signed in to change notification settings - Fork 94
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
config: handle error on config (re)load #4216
Comments
Did you mean "unexpected error"? Regardless, I don't think we should be logging traceback for |
Yes. If the
That is unless there is some legit reason why a |
Why should it not be possible? What if a user runs a workflow with |
Such errors should only surface in |
Ah ok, so the workflow config should be loaded before the scheduler starts, instead of in |
That would be nice but isn't really possible ATM (see also reloads which must happen whilst the scheduler is running), this issue suggests catching and handling errors raised from these config loads so they can be formatted nicely whilst leaving any errors raised elsewhere to fall out as traceback. |
|
@oliver-sanders I'm a little confused - how can we get a Assuming |
A (note we do reload the config with |
Wait so if a user makes a syntax mistake and reloads, what is supposed to happen? I would have thought:
Currently we
|
Sounds good. If a |
ParsecError
raised incylc.flow.config
should be an "expected error" that gets formatted nicely for the user.ParsecError
raised during workflow runtime is an "unexpected error" (i.e. bug) that should be reported and fixed.Additionally, a
ParsecError
(orCylcError
) raised during config reload will cause the scheduler to crash. This is a change in behaviour for those moving from Rose 2019 asrose suite-run --reload
invokedcylc validate --strict
before attempting reload.Suggest:
ParsecError
should be handled differently at config-time as at run-time.One approach for separating config-time errors is to add a flag on the exception:
Pull requests welcome!
The text was updated successfully, but these errors were encountered: