Lease Lifecycle Under a Process Pause — Zombie Writers and Fencing Tokens

Lease Lifecycle Under a Process Pause — Zombie Writers and Fencing Tokens A lifecycle diagram generated by Archify. Lease holder Lock service Storage guard Outcome Lease Held · token 33 · Lease holder · writes allowed 01 Lease Held token 33 writes allowed Process Paused · GC / VM suspend · Lease holder · no CPU time 02 Process Paused GC / VM suspend no CPU time Zombie Writer · woke up unaware · Lease holder · stale token 33 04 Zombie Writer woke up unaware stale token 33 Renewals · TTL countdown · Lock service · periodic Renewals TTL countdown periodic Lease Expires · TTL passed · Lock service · no renewal Lease Expires TTL passed no renewal New Holder · client 2, token 34 · Lock service · token grows 03 New Holder client 2, token 34 token grows Write Token 34 · new holder writes · Storage guard · accepted Write Token 34 new holder writes accepted Write Token 33 · delayed on network · Storage guard · arrives late Write Token 33 delayed on network arrives late Split Brain · interleaved writes · Outcome · no fencing Split Brain interleaved writes no fencing Zombie Fenced · 33 < 34 rejected · Outcome · safe Zombie Fenced 33 < 34 rejected safe renew TTL ends pause beats TTL resumes wakes up new owner writes 34 delayed write 33 kept 34 rejected 33 no token check Legend initial state active waiting decision success failure / exit final state