Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Teleport fails to release due to OPRT race condition #52488

Open
fheinecke opened this issue Feb 25, 2025 · 2 comments
Open

Teleport fails to release due to OPRT race condition #52488

fheinecke opened this issue Feb 25, 2025 · 2 comments

Comments

@fheinecke
Copy link
Contributor

Expected behavior:

Teleport should release successfully

Current behavior:

Teleport OS package publishing can fail due to a race condition. The OS package repo tool (OPRT) uses a bunch of non-concurrent logic (as in, no mutex) to avoid a race condition, but it can still infrequently occur. This occurred for the first (recorded) time in a few years as logged here.

Only one instance of the OPRT per environment (stage, prod) can run at once without there being a guarantee of data corruption. Several protections are built in to the system to prevent this. The protection we primarily rely on handles this via retries and backoffs pretty well, but this protection does not allow for any form of communication between pending concurrent instances. In some extremely rare cases it can fail, and the next "level" of protection which stops the job from running at all.

Bug details:

  • Teleport version - all
  • Recreation steps
  • Debug logs
@fheinecke
Copy link
Contributor Author

The fix for this would require significant changes to how we publish packages, so I'm going to group this under the "replace our current OS package publishing setup" work item.

@camscale
Copy link
Contributor

Failure today: https://github.com/gravitational/teleport.e/actions/runs/13564944838/job/37918292297

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants