Tighten activation recovery and API contracts
This commit is contained in:
parent
033cfeaac6
commit
3062bf3d75
1 changed files with 268 additions and 24 deletions
|
|
@ -163,7 +163,6 @@ RejectPrecondition(op, c, f, w) ==
|
|||
ExpireReservation(c) ==
|
||||
/\ durableState[c] = Authorized
|
||||
/\ reservation[c] # NoWorker
|
||||
/\ lease[c] = NoWorker
|
||||
/\ reservation' = [reservation EXCEPT ![c] = NoWorker]
|
||||
/\ UNCHANGED <<durableState, attemptFence, attemptWorker, lease,
|
||||
activationStage, durableLock, operationRequest,
|
||||
|
|
@ -185,6 +184,7 @@ ExpireLease(c) ==
|
|||
|
||||
AcquireRecoveryLock(c) ==
|
||||
/\ durableState[c] = Authorized
|
||||
/\ reservation[c] = NoWorker
|
||||
/\ durableLock[c] = NoOwner
|
||||
/\ durableLock' = [durableLock EXCEPT ![c] = Recovery]
|
||||
/\ UNCHANGED <<durableState, attemptFence, attemptWorker, reservation,
|
||||
|
|
@ -291,6 +291,10 @@ ReapedCoordinationIsClean ==
|
|||
/\ reservation[c] = NoWorker
|
||||
/\ lease[c] = NoWorker
|
||||
|
||||
RecoveryOwnsInactiveClaim ==
|
||||
\A c \in Claims :
|
||||
durableLock[c] = Recovery => reservation[c] = NoWorker
|
||||
|
||||
ActivationAppliesAtMostOnceAction ==
|
||||
\A c \in Claims :
|
||||
activationEffectCount[c] = 1 => activationEffectCount'[c] = 1
|
||||
|
|
|
|||
Loading…
Reference in a new issue