Skip to content

Make PipelineProcessWorker idempotent with until_executed deduplication [RUN ALL RSPEC] [RUN AS-IF-FOSS]

What does this MR do?

Related to #326791 (closed)

The recent comment: #326791 (comment 582144217)

PipelineProcessWorker is called multiple times in two places;

  1. In every after_transition of CommitStatuses.
  2. Every time right after executing the pipeline.

Right now, we are preventing any race conditions via using try_obtain_lease. However, why not marking the worker deduplicate :until_execing to prevent before that happens?

This change is behind a feature flag ci_idempotent_pipeline_process_worker #332963 (closed).

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • 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
Edited by Furkan Ayhan

Merge request reports