public enum ShardStateWhere a shard is in its life. Doc 27 § Grains, and the spine of the whole design.
Remarks
Requested → Starting → Ready → Draining → Stopping → Stopped ↓ ↓ ↓ Failed ← Lost ← (missed heartbeats) ⚠ Ready is the only state that is a placement candidate, and that single rule is what makes both elastic scaling and rolling upgrades work with no further mechanism: a shard stops taking arrivals the instant it starts draining, and one that has not finished loading its map never takes any.
Fields and properties (8)
RequestedA decision to exist, with no process behind it yet.
StartingThe backend created something. It is not a placement candidate.
ReadyConnected, map loaded, endpoint reported. The only placeable state.
DrainingNo new placements; the players already here are moved at safe moments (§ Drain).
StoppingEmpty, and shutting down.
StoppedGone, on purpose.
FailedIt never came up.
LostThree heartbeats missed. Gone, not on purpose, and its volatile state with it — recovery is a placement rather than a resurrection.
Used by (27)
- ClusterSerializationTestsVixen.Live.Cluster.Tests
- FakeShardVixen.Live.Realm.Cluster.Tests
- FleetGrainVixen.Live.Orchestrator
- FleetSimulationVixen.Live.Orchestrator.Tests
- IShardGrainVixen.Live.Cluster
- MapCoordinatorVixen.Live.Orchestrator
- MapCoordinatorTestsVixen.Live.Orchestrator.Tests
- MapFleetVixen.Live.Orchestrator
- MapFleetTestsVixen.Live.Orchestrator.Tests
- MapGrainVixen.Live.Orchestrator
- PlacementDirectorVixen.Live.Orchestrator
- PlacementDirectorTestsVixen.Live.Orchestrator.Tests
- PlacementWeightsTestsVixen.Live.Orchestrator.Tests
- RealmClusterVixen.Live.Realm.Cluster
- RealmClusterTestsVixen.Live.Realm.Cluster.Tests
- RealmHealthVixen.Live.Realm
- RealmHostVixen.Live.Realm
- RealmHostTestsVixen.Live.Realm.Tests
- RolloutVixen.Live.Orchestrator
- RolloutTestsVixen.Live.Orchestrator.Tests
- ShardCandidateVixen.Live.Orchestrator
- ShardGrainVixen.Live.Orchestrator
- ShardLifecycleVixen.Live.Orchestrator
- ShardLifecycleTestsVixen.Live.Orchestrator.Tests
- ShardReportVixen.Live.Cluster
- SimulatedVixen.Live.Orchestrator.Tests
- TransferFleetVixen.Live.Realm.Tests