Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-72107

Marker interface for things whose state can be loaded from disk

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Minor Minor
    • core
    • 2.428

      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.

          [JENKINS-72107] Marker interface for things whose state can be loaded from disk

          Vincent Latombe created issue -
          Vincent Latombe made changes -
          Remote Link New: This issue links to "PR #8544 (Web Link)" [ 28953 ]
          Vincent Latombe made changes -
          Assignee New: Vincent Latombe [ vlatombe ]
          Vincent Latombe made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Vincent Latombe made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]
          Jesse Glick made changes -
          Labels New: api
          Alexander Brandes made changes -
          Released As New: 2.428
          Resolution New: Fixed [ 1 ]
          Status Original: In Review [ 10005 ] New: Closed [ 6 ]

            vlatombe Vincent Latombe
            vlatombe Vincent Latombe
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: