On Thu, Jun 24, 2021 at 2:18 AM Ullrich Hafner <
ullrich...@gmail.com> wrote:
> This is a very bad user experience (actually I don’t know of any other application that does not start because of a configuration error).
I concur. My initial impression is that JCasC lacks polish, and I was
surprised to see it promoted so heavily when issues like this remain.
> This is also the approach that we are using if a plugin changes serialization (or if a plugin cannot be started because of missing dependencies): in this case Jenkins still continues to work and the problems are highlighted in the UI.
Core isn't entirely consistent in this regard, either. Yes
OldDataMonitor and PluginWrapperAdministrativeMonitor exist. But I
just tried corrupting core's config.xml file and Jenkins wouldn't
start at all. But when I corrupted Email Extension's
hudson.plugins.emailext.ExtendedEmailPublisher.xml, Jenkins started
but with the default values for Email Extension and no administrative
monitor in the UI. The latter clearly could use some improvement, but
I'm not sure about the former. It seems that we want _some_
configuration loading errors to be fatal. But which ones, exactly? In
the JCasC issue on GitHub, Antonio raised the valid point that errors
in loading security-related configuration should be fatal (for obvious
reasons).