Expand description
MetadataEventLog: the publish/subscribe seam between the
TopicBasedRemoteLogMetadataManager
and the underlying durable event store.
The in-process implementation, InProcessMetadataEventLog, is an
in-memory broadcast-channel fixture that unit tests use. It is also a
single-process model for the multi-broker case, because multiple manager
instances that share the same fixture observe each other’s writes. The
production Kafka-backed adapter implements the same trait.
MetadataEventLog::subscribe does not consume every partition from
offset 0. It takes an explicit PartitionStart assignment, which is a
subset of partitions, each with its own start offset. It returns an
AssignmentHandle that can mutate the live assignment at runtime.
Structs§
- InProcess
Metadata Event Log - Single-process
MetadataEventLogfor unit tests and for the multi-broker fixture. Multiple manager instances that clone the sameArcobserve each other’s writes. - Keyed
Event - One keyed record of a
MetadataEventLog::publish_keyed_groupcall. - Metadata
Event Record - One event read from the metadata log.
- Partition
Start - One partition to consume and the offset to begin at (inclusive).
Traits§
- Assignment
Handle - Runtime control over a live
MetadataEventLogsubscription’s assigned partition set.MetadataEventLog::subscribereturns it together with the stream. - Metadata
Event Log - Publish/subscribe transport that backs the
__remote_log_metadatatopic.
Type Aliases§
- Metadata
Event Stream - Boxed event stream the
MetadataEventLoghands to subscribers. - Range
Visitor - Receives each record of
MetadataEventLog::visit_range. An error stops the read, and the read returns it.