We need to ensure that issues like
JENKINS-48571 are more easily self-diagnosable by users.
At first glance there are two ways this could be solved:
- We could enforce the id assignment by throwing an IllegalStateException or similar if the id is null at the time of setOwner(non-null)
- We could ensure an id assignment by assigning one if the id is null at the time of setOwner(non-null)
There may also be other potential solutions.
- Assessment criteria for selection of a proposed solution have been defined and reviewed by Stephen Connolly and Michael Neale
- The list candidate solutions to be assessed has been defined
- The results of the assessment process have been reviewed with Stephen Connolly and Michael Neale and the winner agreed.
- The winning solution has been implemented.
- The documentation has been updated to include the impact.
- Minimization of the risk of "Build storms" has been included in the assessment criteria
(if any of these prove to be broken in the process of resolving this ticket then a replan is required)
- There is no good reason to call setId after the owner has been assigned.