Expand description
Checkpoint barrier types and cross-thread injection. Checkpoint barrier protocol for distributed snapshots.
This module implements the Chandy-Lamport style barrier protocol for consistent distributed checkpoints. Barriers flow through the dataflow graph alongside events, triggering state snapshots at each operator.
§Protocol Overview
- The coordinator injects a
CheckpointBarrierinto all sources - Barriers propagate through operators via
StreamMessage::Barrier - Operators with multiple inputs align barriers before snapshotting
- Once all sinks acknowledge, the checkpoint is complete
§Fast Path
The CheckpointBarrierInjector uses a packed AtomicU64 command
word for cross-thread signaling. The poll fast path (no pending barrier)
is a single atomic load — typically < 10ns.
Modules§
- flags
- Barrier flags — packed into the
flagsfield.
Structs§
- Barrier
Poll Handle - Handle used by source operators to poll for pending barriers.
- Checkpoint
Barrier - A checkpoint barrier that flows through the dataflow graph.
- Checkpoint
Barrier Injector - Cross-thread barrier injector for source operators.
Enums§
- Stream
Message - A message that flows through streaming channels.