Fencing-Token
- Das
tokenin einer Acquire-AntwortAist ein monoton steigendes u64. Egal welcher Schlüssel oder der wievielte Erwerb es ist, der Wert ist immer größer als jedes zuvor ausgestellte Token. - Im Single-Modus garantiert der globale Zähler des Servers die Monotonie; im Cluster-Modus ist es die per Konsens replizierte Ausstellungsnummer — das Token wird deterministisch in dem Moment vergeben, in dem ein committeter Befehl angewendet wird, sodass jeder Knoten denselben Wert berechnet, und es steigt auch über einen Leaderwechsel hinweg weiter.
- Setzt die geschützte Ressource die Regel "jedes Token ablehnen, das niedriger ist als das zuletzt gesehene" durch, kann sie den Zugriff eines alten Inhabers blockieren, der nach
lease-Ablauf verspätet aufwacht (mit einem niedrigeren Token) — die letzte Verteidigungslinie gegen clientseitige Verzögerungen (wie eine GC-Pause), die der Lock-Server nicht kontrollieren kann.
Das Szenario, das diese Validierung notwendig macht, findest du unter Funktionsweise.