Skip to content

worker: can claim beyond its capacity? #992

Closed

Description

@josephjclark

We've found a case where worker seems to have claimed ~30 runs, despite on a capacity of 2. This is naughty. This resulted in most of those runs being lost, although it's not clear to me whether the over-claiming is directly related to the losses.

link to the rush of claims
link to the rush of fails

There is no obvious cause as to why all these requests go out. I can only wonder if the worker has joined the queue multiple times, and as soon as the capacity was hit it triggered 30 claims at once. But I can't see any evidence of that?

Activity

  1. self-assigned this
    on Sep 10, 2025
  2. josephjclark commented on Sep 10, 2025

    @josephjclark
    CollaboratorAuthor

    Struggling to reproduce

    The claim queue runs in series and there are mitigations to prevent multiple loops starting. Spamming the server locally everything seems fine

    But something must be triggering break this loop and send it into overdrive

  3. josephjclark commented on Sep 10, 2025

    @josephjclark
    CollaboratorAuthor

    Looking into the logs and this is happening a fair bit: 17 occurences of 4/2 capacity in 48 hours GCP link

    Feels like there are two claim requests, or two workloops, active for some reason.

  4. josephjclark commented on Sep 10, 2025

    @josephjclark
    CollaboratorAuthor

    Oh no, it's the work available message!

    This will force a claim so long as the worker isn't at capacity - but it doesn't take into account how many active claims there are

    So if you send work available, and the server has capacity, it'll claim. If more work comes available while the claim is outstanding, it'll claim again. Thus you can have a whole suite of claims on the wing with nothing to constrain them.

  5. moved this from New Issues to In progress in Coreon Sep 15, 2025
  6. moved this from In progress to Done in Coreon Sep 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

  • Status
    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions