BackupAndRestore
This page is part of the documentation for Orleans.Lattice 9.9.0 (release line 9.9), built 2026-10-04. It is also published as markdown, with every table and list, at README.md, and llms.txt lists every page.Demonstrates the Orleans.Lattice.Backup surface end to end against a single
in-process silo using the default in-cluster backup sink.
What it shows
- Registering a backup scope and a full + incremental schedule with
ILatticeBackupScheduler.EnsureScheduleAsync. - Seeding a tree with keys.
- Triggering a full backup on demand
(
ILatticeBackupScheduler.TriggerFullBackupAsync). - Mutating the tree (change, add, and delete keys).
- Triggering an incremental backup layered on the full base
(
ILatticeBackupScheduler.TriggerIncrementalBackupAsync). - Listing the backup catalog with
ILatticeBackupCatalogStore.ListAsync. - Restoring the latest backup - base full plus increment folded into one
faithful image - into a brand-new tree with
ILatticeBackupRestoreService.RestoreAsync. - Printing the restored values next to the live values and a small inventory summary computed from the public catalog store.
The daily-full / hourly-incremental schedule reminders are registered to show the API, but the captures are driven synchronously through the scheduler's on-demand trigger methods so the sample runs to completion deterministically rather than waiting on the one-minute reminder floor.
Run it
dotnet run --project samples/BackupAndRestore
Everything runs in memory (in-memory grain storage, in-memory reminders, and the default in-cluster sink), so nothing is written to disk and no external services are required. Each run starts from an empty cluster.
Where to look next
ILatticeBackupScheduler- trigger backups on demand, register or cancel schedules, and prune a scope's chain.ILatticeBackupCatalogStore- enumerate the catalogued backups.ILatticeBackupRestoreService- restore a backup (and its base chain) into a target tree, restore every tree of a backup set as one unit, or revert a shadow-cutover restore.- The
orleans.lattice.backup.*metrics (on the dedicatedorleans.lattice.backupmeter) report capture / restore durations, bytes and entries processed, failures by phase and reason, and live inventory gauges.