pub struct ScriptedCoordinator { /* private fields */ }removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
Expand description
A SplitCoordinator whose events and outcomes are scripted by the
paired CoordinatorScript. Build both with scripted_coordinator.
Trait Implementations§
Source§impl Debug for ScriptedCoordinator
impl Debug for ScriptedCoordinator
Source§impl SplitCoordinator for ScriptedCoordinator
impl SplitCoordinator for ScriptedCoordinator
Source§fn start(
&mut self,
planner: Box<dyn SplitPlanner>,
) -> Result<(), CoordinationError>
fn start( &mut self, planner: Box<dyn SplitPlanner>, ) -> Result<(), CoordinationError>
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
Source§fn set_waker(&mut self, waker: ControlWaker)
fn set_waker(&mut self, waker: ControlWaker)
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
Source§fn poll(&mut self) -> Result<Vec<CoordinationEvent>, CoordinationError>
fn poll(&mut self) -> Result<Vec<CoordinationEvent>, CoordinationError>
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
ControlWaker instead.Source§fn commit(
&mut self,
split: &SplitId,
progress: &SplitProgress,
) -> Result<(), CoordinationError>
fn commit( &mut self, split: &SplitId, progress: &SplitProgress, ) -> Result<(), CoordinationError>
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
Ok means
durable. Fenced means the split
is no longer owned and nothing was written; stop the split and
do not retry the write. Retryable
means the write may or may not have been stored; either outcome is
safe because a commit carries only acknowledged progress, and
re-committing the merged progress later is idempotent. Read moreSource§fn commit_final(
&mut self,
commits: &[(SplitId, SplitProgress)],
) -> Vec<Result<(), CoordinationError>>
fn commit_final( &mut self, commits: &[(SplitId, SplitProgress)], ) -> Vec<Result<(), CoordinationError>>
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
Source§fn fail(
&mut self,
split: &SplitId,
epoch: LeaseEpoch,
reason: &str,
) -> Result<(), CoordinationError>
fn fail( &mut self, split: &SplitId, epoch: LeaseEpoch, reason: &str, ) -> Result<(), CoordinationError>
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
CoordinationEvent::Quarantined). Use for poison input. For a
transient local problem, release
consumes no delivery attempts but may permanently leave the fleet
when the last held split is handed back. Read moreSource§fn release(&mut self, splits: &[SplitId]) -> Result<(), CoordinationError>
fn release(&mut self, splits: &[SplitId]) -> Result<(), CoordinationError>
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
Source§fn depart(&mut self, held: &[SplitId]) -> Result<(), CoordinationError>
fn depart(&mut self, held: &[SplitId]) -> Result<(), CoordinationError>
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
Source§fn set_stop(&mut self, stop: StopSignal)
fn set_stop(&mut self, stop: StopSignal)
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
Retryable
early and still land afterwards; commit_final
ignores it. A coordinator that wraps another forwards it. The default
ignores it.Source§fn release_drained(
&mut self,
splits: &[SplitId],
) -> Result<(), CoordinationError>
fn release_drained( &mut self, splits: &[SplitId], ) -> Result<(), CoordinationError>
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
release
(attempt-free, best-effort, idempotent), but distinguished so a
revocation-aware backend can record the drain as having completed
and never mistake a single-split revocation for a departure from the
fleet. Read moreSource§fn decline_revoke(&mut self, _split: &SplitId) -> Result<(), CoordinationError>
fn decline_revoke(&mut self, _split: &SplitId) -> Result<(), CoordinationError>
removed in v0.4.0, where a work feed replaces split coordination; see https://github.com/spate-etl/spate/issues/1088
RevokeRequested
the embedder cannot serve, because the source refused to stop the
split’s intake or the split is not in a drainable state. Read more