Token de Fencing
- O
tokenem uma resposta de aquisiçãoAé um u64 monotonicamente crescente. Não importa a chave nem a quantas aquisições ela já passou, o valor sempre é maior que qualquer token emitido antes dele. - No modo single, o contador global do servidor garante a monotonicidade; no modo cluster, é o número de emissão replicado por consenso — o token é atribuído de forma determinística no momento em que um comando confirmado (committed) é aplicado, então todo nó calcula o mesmo valor, e ele continua crescendo mesmo após uma troca de líder.
- Se o recurso protegido aplicar a regra "rejeitar qualquer token menor que o último visto", ele pode bloquear o acesso de um detentor antigo que acorda tarde após a expiração do
lease(com um token menor) — a última linha de defesa contra atrasos do lado do cliente (como uma pausa de GC) que o servidor de lock não tem como controlar.
Veja Como Funciona para o cenário que torna essa validação necessária.