Skip to content

Prevent PackageUpload from downgrading a ready package to failed#5245

Open
svkrieger wants to merge 1 commit into
mainfrom
fix-package-upload-ready-guard
Open

Prevent PackageUpload from downgrading a ready package to failed#5245
svkrieger wants to merge 1 commit into
mainfrom
fix-package-upload-ready-guard

Conversation

@svkrieger

@svkrieger svkrieger commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Thanks for contributing to cloud_controller_ng. To speed up the process of reviewing your pull request please provide us with:

A short explanation of the proposed change:

Add guard against package downgrade by checking the current state inside the DB transaction after acquiring the row lock.

An explanation of the use cases your change solves

If a PackageBits job is retried after the worker was restarted mid-job, the retry may fail (e.g. upload file already cleaned up) and call fail_upload!, which would downgrade a READY package back to FAILED.

Links to any other associated PRs

  • I have reviewed the contributing guide

  • I have viewed, signed, and submitted the Contributor License Agreement

  • I have made this pull request to the main branch

  • I have run all the unit tests using bundle exec rake

  • I have run CF Acceptance Tests

If a PackageBits job is retried after the worker was restarted mid-job,
the retry may fail (e.g. upload file already cleaned up) and call
fail_upload!, which would downgrade a READY package back to FAILED.
Guard against this by checking the current state inside the DB
transaction after acquiring the row lock.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant