remora/docs/protocol/RemoraFencing.cfg

40 lines
912 B
INI
Raw Normal View History

2026-07-10 11:39:49 +09:00
SPECIFICATION SafetySpec
CHECK_DEADLOCK TRUE
2026-07-10 11:39:49 +09:00
\* Repeated fencing with delayed outcomes, lease loss, and replacement.
\* MaxAttempts=3 stresses token replacement; fault budgets kept at 1 for TLC size.
2026-07-10 11:39:49 +09:00
CONSTANTS
Jobs = {j1}
Workers = {w1, w2}
InitialWorkers = {w1}
NoJob = NoJob
NoWorker = NoWorker
MaxAttempts = 3
MaxProgress = 1
LeaseLimit = 1
LocalLimit = 1
GlobalLimit = 1
FaultsEnabled = TRUE
FaultServices = {"Coordination"}
MaxCoordLosses = 1
MaxPartitions = 1
2026-07-10 11:39:49 +09:00
INVARIANTS
TypeOK
StateConsistency
AllocatedTokensUsed
LiveProgressWellFormed
LiveProgressCompatibleWithLiveLease
AtMostOneLiveLeasePerJob
AuthorityWellFormed
2026-07-10 11:39:49 +09:00
CommittedResultConsistent
CancellationSafety
PermitSafety
ResumeValidity
StagingOwnership
2026-07-10 11:39:49 +09:00
PROPERTIES
TerminalStateIsImmutable
FencingTokensMonotonic
CommitIsFencedCAS