Skip to content

chore(release): v0.60.4 - #489

Open
avivsinai wants to merge 1 commit into
mainfrom
release-please--branches--main
Open

chore(release): v0.60.4#489
avivsinai wants to merge 1 commit into
mainfrom
release-please--branches--main

Conversation

@avivsinai

@avivsinai avivsinai commented Aug 12, 2026

Copy link
Copy Markdown
Owner

🤖 I have created a release beep boop

0.60.4 (2026-08-12)

Bug Fixes

  • fsq: reconcile windows claim residue when the source name is already gone (#490) (037794a)
  • wake: verify lock machine identity instead of drifting hostname (#488) (449b49e)

This PR was generated with Release Please. See documentation.

avivsinai added a commit that referenced this pull request Aug 12, 2026
…eady gone (#490)

## Problem

`windows-claim-test` flakes intermittently (last seen blocking release
PR #489): `TestMoveNewToCurConcurrentClaimsSingleWinner` fails with
`remove duplicate claim source ... Access is denied`. Concurrent
claimants race their POSIX-semantics disposition sets on the same source
file; the loser of that inner race can observe a hostile NT status even
though the name is already gone and its removal goal is met.

## Fix

Verify-then-benign at both `removeClaimSource` sites in `claimRename`:
on a removal error outside `claimTransitionAlreadyDone`, re-inspect the
source name through the pinned root. Proven absence keeps the existing
contracts (winner → `nil`, residue loser → `os.ErrNotExist`); a present
name — including out-of-contract recreation — or an uninspectable state
stays loud, with the removal and recheck causes joined.
`STATUS_ACCESS_DENIED` is never blanket-benign, so real DELETE-access
failures still fail. Unix untouched.

## Tests

Deterministic Windows regression tests recreate the exact race via the
production POSIX disposition primitive on an independent handle
(`os.Remove` cannot stand in — it is classic `DeleteFile`
delete-on-close in Go 1.25): winner-benign, residue-loser-benign, and
loud negatives at both sites proving present-name failures are not
masked. The concurrent stress test remains as integration evidence.

## Review

Design + two staged-snapshot reviews by codex via AMQ; approved on the
exact committed snapshot (`ebcdd19d…`), including independent windows
vet/compile evidence. Merge held until the real `windows-claim-test` job
is green.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01N17nDzcBQEbWpboBLTTyRn

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@avivsinai
avivsinai force-pushed the release-please--branches--main branch from e5de353 to 32125db Compare August 12, 2026 10:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant