envoyproxy / envoyproxy/xds-relay

Potential race condition between cache evict & fanout routines

Open
#119 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.