Skip to content

CI-only: fix/go-module-caller-save-race at 77be9e71 (do not merge) - #70

Merged
peterkc merged 1 commit into
mainfrom
ci/fix/go-module-caller-save-race
Oct 26, 2026
Merged

peterkc merged 1 commit into
mainfrom
ci/fix/go-module-caller-save-race

Conversation

@peterkc

@peterkc peterkc commented Oct 26, 2026

Copy link
Copy Markdown
Owner

Fork-only draft to run CI for fix/go-module-caller-save-race at 77be9e7 (drop Go caller stat trust when a save overlaps source recovery; the race zzet#953 listed under Limits). Upstream zzet#980 test layout; no fork-only commit. Do not merge.

Caller recovery stats and reads a Go caller file without the cache lock,
then stores the result with that stat. A save of the same file clears the
cached stat so the next recovery checks the bytes again. If the save landed
while a recovery was reading, the recovery then wrote its stat back over
the cleared one. When the save kept the size and modification time, later
recoveries trusted the pre-save facts and restored stale calls until the
file was saved again.

Each save now bumps a per-indexer epoch under the cache lock, also for a
file with no cache entry yet. Recovery reads the epoch together with the
entry and stores its result through storeGoModuleSource, which keeps the
facts but clears the stat when the epoch moved, on both the equal-digest
and the extract path. The next recovery then verifies the bytes once.

TestGoModuleSourceStoreDropsTrustAfterConcurrentSave runs a save during the
read for a cached file and for a first recovery. It fails without the epoch
check and passes with it.
@coderabbitai

coderabbitai Bot commented Oct 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one): 1
  • coderabbit

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Central YAML; Path: .coderabbit.yaml
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 5eb96659-8d6c-4f6b-bb6f-1fa9e5a8bdcc

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@peterkc
peterkc merged commit e3bcdd3 into main Oct 26, 2026
20 checks passed
@peterkc
peterkc deleted the ci/fix/go-module-caller-save-race branch October 26, 2026 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant