DossierDossier

L'ancien responsable peut revenir après que la fiche a changéToolHive ajoute un CAS pour les credentials DCRThe former cook can wake up after the record has changedToolHive adds atomic DCR compare-and-set updates

Un commis vérifie qu'il tient le cahier, puis s'arrête pendant qu'un autre prend sa place. Une nouvelle méthode acceptée compare encore la fiche au moment de l'écriture pour protéger le remplaçant.ToolHive fusionne une primitive DCR compare-and-set contre les écritures d'un détenteur de lease suspendu puis périmé. Vérifier la lease avant l'écriture ne suffit pas si une relève survient entre les deux.A cook checks that the book is theirs, then pauses while someone else takes over. The accepted primitive checks the saved value at writing time so the returning cook cannot overwrite the replacement's entry merely on old authority.The new internal API couples expected-value comparison and credential mutation atomically. It targets the time-of-check/write gap left by a lease holder that resumes after expiry and replacement.

Les plans de travailIsolation et concurrenceThe worktopsIsolation and concurrency
L'ancien responsable peut revenir après que la fiche a changé

Comparer la même fiche avant de la remplacerMécanismeThe saved copy must still match this exact entryMechanism

La comparaison et le remplacement se font sans laisser une autre main changer la fiche entre les deux. Si la fiche manque, a changé ou n'est pas la bonne, rien n'est écrit.Redis utilise WATCH/MULTI, et le backend mémoire un mutex. La primitive refuse sans mutation une ligne absente, une valeur modifiée ou un expected appartenant à une autre clé.Nobody may slip a different note between the comparison and replacement. A missing entry, changed value or reference to another entry means leave the book untouched.The expected credential value and target key must both match. A conflict is a no-effect rejection, rather than permission to recreate or overwrite a different row.

La méthode existe, tous les postes ne sont pas prouvés l'utiliserÉtat actuelA new method does not prove every station uses itCurrent state

La méthode est acceptée, mais rien ne prouve que chaque poste l'utilise déjà ou qu'elle soit distribuée. Les essais sont rapportés par l'auteur, pas refaits ici ; une organisation du stockage reste non testée.L'adoption par tous les consommateurs et la release porteuse ne sont pas établies. Tests unitaires et Redis Sentinel sont rapportés, non reproduits ; Redis Cluster n'a pas été testé. Guidance research_only.The primitive is merged, with neither universal use nor a published delivery established. The author reports tests, which we did not repeat, and one storage arrangement remains untested.Merged API availability is distinct from consumer migration. Reported unit and Redis Sentinel tests do not establish Redis Cluster behavior or an independently verified deployed fence.