Skip to content

possible resilience issue in instrument queue slot writer #20

Description

@wlvchandler

getting next write position reserves slots before checking if the queue is full. could lead to 'holes' if a writer fails after incrementing but before writing

here:

let write_pos = header.write_idx.fetch_add(1, Ordering::AcqRel);
let slot_idx = write_pos % self.slot_count as u64;

could probably use a 2 phase commit (reservation/completion)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions