<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Coordination on Nalar</title>
    <link>https://nalar.dev/tags/coordination/</link>
    <description>Recent content in Coordination on Nalar</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 15 Sep 2026 00:00:00 +0700</lastBuildDate>
    <atom:link href="https://nalar.dev/tags/coordination/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Fencing Tokens Reject Stale Lease Holders</title>
      <link>https://nalar.dev/fencing-tokens-reject-stale-lease-holders/</link>
      <pubDate>Tue, 15 Sep 2026 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/fencing-tokens-reject-stale-lease-holders/</guid>
      <description>&lt;p&gt;A distributed lease can expire while its holder is paused. The holder may later resume with local state that still says it owns the lease, even though another client has acquired a newer lease. If the protected resource accepts commands solely because a client once acquired ownership, both clients can act during the same logical ownership interval.&lt;/p&gt;&#xA;&lt;p&gt;Fencing tokens move part of the ownership check to the resource receiving the mutation. Each successful lease acquisition receives a token greater than every token issued before it. The protected resource records the greatest token it has accepted and rejects operations carrying an older value.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fencing Tokens Make Expired Leases Observable</title>
      <link>https://nalar.dev/fencing-tokens-make-expired-leases-observable/</link>
      <pubDate>Sun, 13 Sep 2026 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/fencing-tokens-make-expired-leases-observable/</guid>
      <description>&lt;p&gt;A process can hold a distributed lease, pause long enough for that lease to expire, then resume with local state that still says it owns the resource. Another process may already have acquired a newer lease during the pause. At that point, mutual exclusion in the lock service is not enough: two processes can each act as if they have authority, even though only one lease is current.&lt;/p&gt;&#xA;&lt;p&gt;This is a boundary problem between coordination and the resource being protected. A lease service can decide which holder is current according to its own state. It cannot retroactively erase instructions already held by an old process, nor can it stop that process from sending a request after a long pause.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
