Module mz_storage::controller
source · [−]Expand description
A controller that provides an interface to the storage layer.
The storage controller curates the creation of sources, the progress of readers through these collections, and their eventual dropping and resource reclamation.
The storage controller can be viewed as a partial map from GlobalId
to collection. It is an error to
use an identifier before it has been “created” with create_source()
. Once created, the controller holds
a read capability for each source, which is manipulated with update_read_capabilities()
.
Eventually, the source is dropped with either drop_sources()
or by allowing compaction to the
empty frontier.
Modules
hosts 🔒
Provisioning and assignment of storage hosts.
Rehydration of storage hosts.
Structs
Describes a request to create a source.
Metadata required by a storage instance to read a storage collection
State maintained about individual collections.
A storage controller for a storage instance.
Opaque token to ensure
prepare_export
is called before create_exports
. This token proves
that compaction is being held back on from_id
at least until id
is created. It should be
held while the AS OF is determined.The subset of
CollectionMetadata
that must be durable stored.State maintained about individual exports.
Controller state maintained for each storage instance.
Enums
Describes how data is written to the collection.
Compaction policies for collections maintained by
Controller
.Constants
Statics
Traits
A trait that is used to calculate safe resumption frontiers for a source.