Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneeszack

Relationships

#3152 datastore lock release gives the wrong reason when the lock file is caught mid-write

Opened by zack · 10/7/2026· Shipped 10/7/2026

Follow-up to swamp-club#3148, raised by the code and adversarial reviews of that fix.

FileLock.inspect() now reports a lock file that exists but cannot be read (empty or partial while its holder writes it) as held, using a placeholder LockInfo with no nonce. datastoreLockRelease in src/libswamp/datastores/lock.ts then calls forceRelease with an undefined nonce, which returns false, and the command reports that the lock holder changed and it is aborting. Before swamp-club#3148 it reported no lock held.

Nothing is released in either case, which is the safe outcome. Only the stated reason is wrong.

Suggested fix: when the inspected lock has no nonce, report that the lock file is being written by its holder and to retry shortly, without calling forceRelease, and add a test for that path. Also check that datastore lock status renders the placeholder sensibly; it currently prints PID 0 and hostname unknown.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 6 MOREREVIEW+ 16 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/7/2026, 9:06:40 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
zack assigned zack10/7/2026, 7:48:20 PM

Sign in to post a ripple.