Package-level declarations
Types
The system command wow.snapshot.Rebuild: rebuilds from the log the snapshots of the aggregates ids of one aggregate type, in the tenant of the instance it is sent to: the aggregate <context>.snapshot whose id is the name of that aggregate type. A snapshot written wrong is repaired this way; the rebuild runs in the background, once the request is committed.
The system event wow.SnapshotRebuildRequested: the snapshots of the aggregates ids are to be rebuilt.
The names of the snapshot rebuild aggregate, its system command and event.
The snapshot rebuild control plane of a SnapshotStore, its own port: a store offers it through SnapshotStore.rebuilds. The snapshot subscriptions never use it; the node's snapshot maintenance does.
An aggregate's latest committed state as the snapshot store keeps it: a cache derived from the log, never a fact.
How the save of one snapshot of a SnapshotStore.saveAll ended: Written, Refused by the version guard (the store holds the same or a later version, or one of a higher state revision, which the save then marked stale), or Failed alone, the others of the batch unaffected. A failure of the whole call is thrown instead.
The snapshots of one bounded context: each aggregate's latest committed state, the default read model (axiom A11, documentation/designs/03-log-and-snapshot.md §3). A snapshot is derived from the log and can be rebuilt from it, so it is written outside the append and a lost write costs only a rebuild.
The record of one aggregate type's snapshot table: the state revision it is claimed at, whether snapshots of another revision or marked stale may remain to be rewritten (rebuilding), and whether the table has caught up with the log since it was first claimed (backfilled): a snapshot target added to a running service is filled from the beginning of the log. A query of a table that is catchingUp answers with rebuilding.