Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Hudson-ci/features/Load Plugins Without Restart
Load Plugins Without Restart
The need to restart Hudson for routine system administration adversely affects the perceived stability of the server. Even a soft restart, with adequate warning, interrupts build flow, ability to configure jobs, etc. Particularly with the new Team feature, restart on behalf of one team adversely affects all the others.
There are several cases where administration requires restart - for example, a configuration change in a cascaded job is not propagated to jobs that should inherit the change until Hudson is restarted - but the most common cases are plugin loading and update. The latter (update) is more difficult and won't be addressed in 3.1.0.
Initial plugin loading will probably work for most plugins as long as plugin dependencies are properly satisfied, although there may be cases where plugins expect Hudson not to be running when they initialize.
Initial plugin loading will be presumed safe unless the plugin indicates otherwise.
Manifest Directives
The following directive will be recognized in the plugin's MANIFEST.MF file:
Support-Dynamic-Loading: true|false
If the manifest of a plugin or any plugin it depends on contains Support-Dynamic-Loading: false
, loading the plugin will require restart. Otherwise (directive is absent or specifies true
) the plugin will be loaded without restart.