Skip to content

fix(shm): disambiguate control and chunk frame identities #69

Description

@mithuncy

Follow-up to #57.

Control frames (WorkUnit, FeedEof, TaskMetrics, SetPlan) currently encode their target task in partition with task_id = 0. Move the task to task_id and use partition = 0 for control frames.

Also preserve the original frame kind in chunk reassembly. Once a frame is chunked, a data frame and a control frame can otherwise share (sender_proc, stage_id, task_id, partition) and overwrite or corrupt the same partial assembly.

Acceptance criteria:

  • Control-frame routing reads the task from task_id.
  • Chunk assembly distinguishes the original frame kind.
  • A deterministic regression test interleaves colliding oversized data and control frames.
  • Keep the stream_cancelled kind guard; this is cleanup, not a reason to remove it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions