A large number of objects in Jenkins are persisted to disk by implementing Saveable.
The state for these objects is conversely loaded from disk on startup as part of their constructor. In many cases, the actual process is done in a method called load.
CloudBees CI High Availability support selectively reloads parts of the Jenkins object model, as multiple replicas of a Jenkins instance are running on the same filesystem, and updates done by a replica need to be propagated to other running replicas. This ensures both object model are consistent in different replicas.
Introducing the Loadable formalizes this requirement, ensuring any object that needs to (re-)load its state from disk will do it through a load method.
- links to
vlatombe since this was included in 2.427 and is not labeled as an lts-candidate, by default it will not be backported into the 2.426.1 release. It would first become visible in an LTS release in mid Feb 2024. Is that sufficient for you or should this be considered for backporting to 2.426.1?