Type Alias mz_storage_types::sources::mysql::GtidPartition

source ·
pub type GtidPartition = Partitioned<Uuid, GtidState>;
Expand description

This type is used to represent the progress of each MySQL GTID ‘source_id’ in the ingestion dataflow.

A MySQL GTID consists of a source_id (UUID) and transaction_id (non-zero u64).

For the purposes of this documentation effort, the term “source” refers to a MySQL server that is being replicated from: https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-concepts.html

Each source_id represents a unique MySQL server, and the transaction_id monotonically increases for each source, representing the position of the transaction relative to other transactions on the same source.

Paritioining is by source_id which can be a singular UUID to represent a single source_id or a range of UUIDs to represent multiple sources.

The value of the partition is the NEXT transaction_id that we expect to see for the corresponding source(s), represented a GtidState::Next(transaction_id).

GtidState::Absent represents that no transactions have been seen for the corresponding source(s).

A complete Antichain of this type represents a frontier of the future transactions that we might see.

Aliased Type§

struct GtidPartition(/* private fields */);

Trait Implementations§