Skip to content

x/build/cmd/coordinator: write proper scheduler #19178

Open
@bradfitz

Description

@bradfitz

Currently if there are N builds waiting on a buildlet type (due to lack of machines or quota), the current implementation is a bunch of goroutines fighting over a mutex.

It's random who wins and gets the buildlet.

We should have them register interest and when a buildlet becomes available, pick the highest priority one.

Example priorities in order:

  • trybot run with a +2 already
  • trybot run
  • normal run of a build at tip of a release branch
  • normal run of a build at tip of master branch
  • normal run of a build at tip of dev branch
  • normal run of a build not at tip
  • idle flake detection (x/build: auto-detect flakes #19177)

etc.

/cc @danp @kevinburke

Metadata

Metadata

Assignees

No one assigned

    Labels

    Buildersx/build issues (builders, bots, dashboards)NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions