フェンシングトークン
- 獲得応答
Aのtokenは単調増加するu64です。 キーや獲得の回数に関わらず、値は常にそれ以前に発行されたどのトークンよりも大きくなります。 - シングルモードではサーバーのグローバルカウンタが単調性を保証し、クラスタモードでは 合意によって複製される発行番号そのものが使われます — トークンはコミットされた コマンドが適用される瞬間に決定的に割り当てられるため、すべてのノードが同じ値を計算し、 リーダー交代をまたいでも増加し続けます。
- 保護対象のリソースが「最後に見たトークンより小さいトークンは拒否する」というルールを 適用していれば、
lease失効後に遅れて目覚めた古い保有者(より小さいトークンを持つ)からの アクセスをブロックできます — ロックサーバーには制御できないクライアント側の遅延 (GCの一時停止など)に対する最後の防衛線です。
この検証が必要になる具体的なシナリオは動作原理を 参照してください。