Skip to content

WIP: Fix bridge status update race conditions

Fabio Pitino requested to merge fix-bridge-status-update-race-conditions into master

What does this MR do?

Related to #207234 (closed)

In CreateCrossProjectPipelineService we update the bridge immediately after creating the downstream pipeline.

However, concurrently we have a after_transition blocks in Ci::Pipeline that update the bridge when a pipeline transitions to completed states.

If a downstream pipeline fails immediately because of some syntax errors, we have:

  • Ci::CreateCrossProjectPipelineService drops the bridge because of downstream pipeline errors
  • The pipeline transition to failed also triggers a Ci::PipelineBridgeStatusWorker which also tries to drop the bridge

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Merge request reports