Cloud can release the upload of a sourceless Service after an undeployed image edit#4105
Found while reviewing the fix for #4034 (PR #4104). The defect is on main.
uploads::kept decides which Services Cloud keeps uploads for from the latest Saved State plus Services with a provisional choice in flight. A reapply (and a CI-hold promotion) can admit an older Saved revision.
- Service
Shas no source and runs uploadU0. - A user saves an image for
Sbut does not deploy it. Nothing is in flight. keptno longer countsSas sourceless, so Cloud can releaseU0.- A Door switch reapplies
Sat the older revision, whereShas no source. Admission picksU0, and the upload is gone.
Likely fix: have kept also protect each Service that a Deployment in Applied State, or an older Saved revision a reapply may ship, has without a source.
Scores: F2 (needs an undeployed image edit on a sourceless Service, then a switch) × S5 (a build fails or ships nothing; a new upload recovers) = 10.