Skip to content
Preprint

Machine-Checked Dual-Write Recovery from a Commit Log

Aug 2026 · 1 citation · 31 references
Computer Science

TL;DR

Two reachable post-crash states are constructed with the same durable source-side state and different sink acceptance records and it is shown how bounded deduplication state and truncated source history limit the lifetime of the guarantee.

Abstract

Applications often need to make related facts durable in two independent systems without a transaction spanning both. If the process crashes after the second system accepts an operation but before a source-side checkpoint is written, recovery cannot tell from source state alone whether to retry. Transactional outboxes and change data capture move this dual write out of an application process, but relay delivery and checkpointing remain separate durable operations. Systems address the problem with retries, checkpoints, idempotency keys, and fencing, and call the result exactly-once delivery. Whether that guarantee holds depends on which event it counts, what evidence recovery requires, and how long that evidence must survive. The closest formal studies model-check particular outbox and log-delivery designs, and their results hold only for the designs and instances they check. Answering the three questions in general requires statements about arbitrary recovery policies, which finite enumeration cannot reach. We prove them in Isabelle/HOL, and to our knowledge they have not been machine-checked before. The main result is an impossibility theorem for source-only recovery. We construct two reachable post-crash states with the same durable source-side state and different sink acceptance records. Any recovery policy based only on the source side must duplicate an effect in one state or leave it undelivered in the other. The same holds for a deterministic deliver-then-checkpoint protocol whose only nondeterminism is crash timing. An authoritative, complete, and current sink acceptance record lets recovery compute the missing operations when source coordinates distinguish them. We also prove arrival and claim fences for in-flight requests and concurrent recoverers. Finally, we show how bounded deduplication state and truncated source history limit the lifetime of the guarantee.

View source

Similar papers

Preprint Aug 2026

Aborted but Not Forgotten: KV-Cache Retention Breaks Rollback Consistency in Language Agents

Stateful language agents assume a rejected branch can be taken back by clearing it from the application transcript. We show this breaks when the serving session retains key/value (KV) state across the logical abort: the model can continue attending to content the application believes it discarded. We formalize the miss...

Gui-Jia Zhang, Harry Yang · 1 citation
Book Open access Sep 2026

Verifying a high-performance distributed transaction system using permissioned state machines

The permissioned state machine (PSM) approach, which extends TLA-style protocol reasoning with ideas from concurrent separation logic, enables the developer to specify and verify complex protocols, such as Tulip, by breaking them down into smaller modules.

Yun-Sheng Chang, Joseph Tassarotti, Frans Kaashoek et al. · 0 citations
Review Aug 2026

Can MCP Clients Decide What to Do After Failure? A Result-Only Actionability Audit

What deterministic software can learn from a completed MCP failure result alone is studied; request arguments, schemas, discovery history, authen- tication state, transport metadata, host policy, and host policy, and host policy, and ap- plication state are outside that boundary.

Rishabh Mehan · 1 citation
Book Open access Oct 2026

The Event Loop That Wasn’t: What Happens to a Reactive System When You Remove JavaScript

Fine-grained reactive systems built for the browser rely on implicit host facilities and guarantees, including promises, an event loop, a microtask checkpoint, and a garbage collector. We report on porting the reactive core of SolidJS to Rust, with those assumptions removed, and on what the removal revealed about which...

C. Bergström · 0 citations
#artificial intelligence Preprint Aug 2026

Stale Does Not Mean Unsafe: Guard Precision for Tool-Using LLM Agents under Infrastructure State Races

This work evaluates three commit-time guard granularities (global epoch, read-set version, semantic commit predicate), multi-level verification, and model-side gates on three locally hosted quantized model families, and investigates how precisely runtime guards distinguish invalidating races.

Zi-Hao Zheng, Jia-Yu Long, Bai-Chuan Li et al. · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.