Skip to content

reconciler: Stopping allocs by name is error prone #12797

Open
@DerekStrickland

Description

@DerekStrickland

Proposal

The reconciler relies on the allocation name (task name + index) when deciding which allocs to stop. This is a non-deterministic value that has led to numerous defects over time. While the name is useful for identifying allocations that conflict, by itself, it is not enough to know which allocation to keep and which to discard. We should design a more resilient approach to reconciling allocations that have the same name.

Use-cases

This issue was identified during work on PR12795. During code review, it came to light that this has been a source of historical problems and that we should look for an alternate approach.

Attempted Solutions

So far, all effort has been expended around ensuring that the surrounding code ensures allocs are filtered correctly into specific sets and then managing those sets. This approach, compounded by change over time, has led to sprawling logic spread across numerous functions that creates a significant cognitive load when trying to work on this aspect of the scheduler.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions