Struct dataflow::render::debezium::DebeziumDeduplicationState [−][src]
struct DebeziumDeduplicationState {
last_position_and_offset: Option<(RowCoordinates, Option<i64>)>,
full: Option<TrackFull>,
messages_processed: u64,
filenames_to_indices: HashMap<String, i64>,
projection: DebeziumDedupProjection,
}
Expand description
Track whether or not we should skip a specific debezium message
The goal of deduplication is to omit sending true duplicates – the exact same record being sent into materialize twice. That means that we create one deduplicator per timely worker and use use timely key sharding normally. But it also means that no single deduplicator knows the highest-ever seen binlog offset.
Fields
last_position_and_offset: Option<(RowCoordinates, Option<i64>)>
Last recorded binlog position and connector offset
DebeziumEnvelope
determines whether messages that are not ahead
of the last recorded position will be skipped.
full: Option<TrackFull>
Whether or not to track every message we’ve ever seen
messages_processed: u64
filenames_to_indices: HashMap<String, i64>
projection: DebeziumDedupProjection
Implementations
fn extract_binlog_position(
&mut self,
value: &Row
) -> Result<Option<RowCoordinates>, DataflowError>
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for DebeziumDeduplicationState
impl Send for DebeziumDeduplicationState
impl Sync for DebeziumDeduplicationState
impl Unpin for DebeziumDeduplicationState
impl UnwindSafe for DebeziumDeduplicationState
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more