Package-level declarations
Types
The state of one rebuild instance: how many rebuild requests it took.
Keeps the snapshot targets of one bounded context in step with the log and the code, on every node, every SnapshotOptions.interval:
The tuning of each context's SnapshotMaintenance: it runs every interval; an in-place rebuild rewrites batch snapshots a page, at most pages pages a run, under a lease of leaseTtl; a node stays a member of its state revision for memberTtl after its last run, so a rollback waits that long after the last node of the higher revision is gone (none when it leaves gracefully). The snapshot subscriptions write at most writeBatch snapshots of a partition with one me.ahoo.wow.spi.snapshot.SnapshotStore.saveAll.
The built-in aggregate that takes a context's snapshot rebuild requests: <context>.snapshot, one instance per snapshotted aggregate type in each tenant, whose id is the aggregate type's name. It belongs to its tenant (no owner), has no lifecycle commands and no snapshots of its own, and decides wow.snapshot.Rebuild(ids): it commits wow.SnapshotRebuildRequested(ids), each id once, which the built-in rebuild subscription (SnapshotMaintenance.REBUILD_SUBSCRIPTION) carries out. A request to an instance that is no snapshotted aggregate type of the context is rejected with FrameworkCodes.COMMAND_INVALID.
Whether the snapshots of an aggregate type are being rebuilt or backfilled: its primary target is not caught up, so a query of them answers with rebuilding.
The built-in wow.snapshot subscription of one bounded context: keeps the latest snapshot of every aggregate of the models given, the aggregate types whose snapshots are enabled. Register subscription in the context's me.ahoo.wow.runtime.subscription.SubscriptionRuntime and give views to the me.ahoo.wow.runtime.Executor: it then runs on each partition's owner, checkpoints, parks and signals like any subscription, and completes the default wait, snapshot (handled(wow.snapshot)). An aggregate type not among models has no snapshot, and its default wait is committed.