pub struct InternalTopicCheckpointStore { /* private fields */ }Expand description
A CheckpointStore backed by a compacted internal Kafka topic on the
target cluster.
Each flow gets its own key (flow_name) within the shared compacted topic
[STATE_TOPIC]. On restart, load fetches the last value for
that key, recovering the exact partition offsets the worker had reached.
Implementations§
Source§impl InternalTopicCheckpointStore
impl InternalTopicCheckpointStore
Sourcepub async fn start(
target_bootstrap: &str,
flow_name: &str,
security: Option<ClientSecurity>,
) -> Result<Self, ConnectError>
pub async fn start( target_bootstrap: &str, flow_name: &str, security: Option<ClientSecurity>, ) -> Result<Self, ConnectError>
Ensure the compacted offset topic exists on the target cluster, build a
producer, and return a store keyed by flow_name.
§Errors
Returns ConnectError::Offset if the topic cannot be created or the
producer cannot connect.
Trait Implementations§
Source§impl CheckpointStore for InternalTopicCheckpointStore
impl CheckpointStore for InternalTopicCheckpointStore
Source§fn save<'life0, 'life1, 'async_trait>(
&'life0 self,
offset: &'life1 SourceOffset,
) -> Pin<Box<dyn Future<Output = Result<(), ConnectError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn save<'life0, 'life1, 'async_trait>(
&'life0 self,
offset: &'life1 SourceOffset,
) -> Pin<Box<dyn Future<Output = Result<(), ConnectError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Persist
offset as the latest committed position. Called only after the
records it covers are durable in the sink. Read moreAuto Trait Implementations§
impl !Freeze for InternalTopicCheckpointStore
impl !RefUnwindSafe for InternalTopicCheckpointStore
impl !UnwindSafe for InternalTopicCheckpointStore
impl Send for InternalTopicCheckpointStore
impl Sync for InternalTopicCheckpointStore
impl Unpin for InternalTopicCheckpointStore
impl UnsafeUnpin for InternalTopicCheckpointStore
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more