do not block on send channels under high load (#19090)

all send channels must compete with `ctx` if not
they will perpetually stay alive.
This commit is contained in:
Harshavardhana
2024-02-20 15:00:35 -08:00
committed by GitHub
parent c7f7c47388
commit 35deb1a8e2
4 changed files with 30 additions and 7 deletions

View File

@@ -219,7 +219,10 @@ func (o *listPathOptions) gatherResults(ctx context.Context, in <-chan metaCache
// Do not return io.EOF
if resCh != nil {
resErr = nil
resCh <- results
select {
case resCh <- results:
case <-ctx.Done():
}
resCh = nil
returned = true
}