Skip to content

fix(proxy): serialize LRU check-then-create in no-progress and compaction trackers#736

Open
devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
devin/1752601700-noprogress-race
Open

fix(proxy): serialize LRU check-then-create in no-progress and compaction trackers#736
devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
devin/1752601700-noprogress-race

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

noProgressTracker.recordAndDetect and compactionTracker.checkAndRecord each do a two-step Get+Add on their LRU. The LRU synchronizes individual calls but not the pair, so racing goroutines could orphan a freshly created fingerprintRing (losing recorded fingerprints and delaying loop detection) or evaluate the compaction drop check against stale prior state (false-positive detection). Both trackers now hold a sync.Mutex across just the Get+Add; ring.recordAndDetect runs outside the lock since fingerprintRing guards its own state.

Adapted from #472 by @rohith500; comments condensed per repo conventions.

Link to Devin session: https://app.devin.ai/sessions/840868be330a4e258f7325867c84caaf
Requested by: @steventohme

…tion trackers

Adapted from #472 by @rohith500

Co-Authored-By: Steven Tohme <steven@workweave.ai>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@greptile-apps

greptile-apps Bot commented Jul 15, 2026

Copy link
Copy Markdown

PR author is not in the allowed authors list.

Co-authored-by: Rohith Reddy Nama <104615697+rohith500@users.noreply.github.com>
Co-Authored-By: Steven Tohme <steven@workweave.ai>
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.

0 participants