Skip to content

[Test] spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb | Ci::PipelineProcessing::AtomicProcessingService Pipeline Processing Service when jobs change from stopped to alive status during pipeline processing runs ResetSkippedJobsSe...

Test metadata (don't modify)

Field Value
File URL spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb#L1013
Filename spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb
Description Ci::PipelineProcessing::AtomicProcessingService Pipeline Processing Service when jobs change from stopped to alive status during pipeline processing runs ResetSkippedJobsService on the new alive jobs and logs event
Test level unit
Hash 2241e0515c433c708c53494129c6b4dab053f81d3
Reference duration 3.23 seconds
Expected duration < 45.4 seconds

Stack trace

Failure/Error: expect(all_builds_names_and_statuses).to eq(statuses_1)

  expected: {:deploy1=>"skipped", :deploy2=>"skipped", :manual1=>"manual", :manual2=>"manual", :test1=>"skipped", :test2=>"skipped"}
       got: {:deploy1=>"skipped", :deploy2=>"created", :manual1=>"manual", :manual2=>"manual", :test1=>"skipped", :test2=>"created"}

  (compared using ==)

  Diff:

  @@ -1,7 +1,7 @@
   :deploy1 => "skipped",
  -:deploy2 => "skipped",
  +:deploy2 => "created",
   :manual1 => "manual",
   :manual2 => "manual",
   :test1 => "skipped",
  -:test2 => "skipped",
  +:test2 => "created",

Reports (1)

  1. 2024-03-14: https://gitlab.com/gitlab-org/gitlab/-/jobs/6394154237 (https://gitlab.com/gitlab-org/gitlab/-/pipelines/1213569840)

Resolution

We confirmed that the problem is the order in which jobs are processed by AtomicProcessingService. The order is not consistent between each test run, which particularly affects the expected job statuses of DAG pipelines with same-stage dependent jobs. See !147875 (merged) for details.

We inferred that the query in AtomicProcessingService#update_jobs only orders jobs by stage, but it should also account for DAG ordering.

The MR Fix handling of DAGs within a stage in AtomicPr... (!147875 - merged) was opened to resolve this issue.

Edited by Leaminn Ma