envoyproxy / envoyproxy/xds-relay
Potential race condition between cache evict & fanout routines
Open
bug
component: orchestrator
- Dominant language
- Go
- Stars
- 135
- Forks
- 28
- PR merge metrics
- No merged PRs in 30d
Description
There is a potential race condition between the delete operation and the two operations (get response channel, add response) here:
https://github.com/envoyproxy/xds-relay/blob/37af3c5c5e65772d6bb5b0841ca117ff09c99c60/internal/app/orchestrator/orchestrator.go#L340-L341
Contributor guide
Research direction
Start in internal/app/orchestrator/orchestrator.go at lines 340-341 and trace the cache delete operation alongside the get-response-channel and add-response operations. Determine the interleaving that can race, then verify that the corrected behavior prevents the race without disrupting cache eviction or fanout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100