Skip to content

tide: obsolete batch ProwJobs not aborted when a new batch supersedes them #650

@Prucek

Description

@Prucek

When the base branch SHA advances (either from a tide merge or a manual merge), tide starts a new batch without aborting the ProwJobs from the previous batch. The old ProwJobs are still running, but become invisible to the next sync cycle because dividePool() filters ProwJobs by baseSHA. Tide sees batchPending == 0 and triggers a fresh batch, leaving the old one to run to completion.

In the Azure/ARO-HCP case (https://prow.ci.openshift.org/tide-history?repo=Azure%2FARO-HCP), a manual merge of PR #4269, while two batches were already running, caused a third parallel batch to start.

Image

This is straightforward to reproduce: start a batch job, manually merge any PR in the same pool, and tide will trigger another batch on the next sync without cancelling the running one.

Expected: when tide decides to trigger a new batch, any ProwJobs from a superseded batch (same org/repo/branch, different baseSHA) should be aborted.

/label area/tide
/kind bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/tideIssues or PRs related to prow's tide componentkind/featureCategorizes issue or PR as related to a new feature.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions