Runner-wrapper: buffer errCh to avoid goroutine leak on shutdown
What does this MR do?
runner-wrapper: buffer errCh to avoid goroutine leak on shutdown
The wrapper start() goroutine always sends exactly one error into errCh. When Run() exits early due to context cancellation, the unbuffered channel could block the sender forever.
Make errCh buffered (size 1) to ensure the start goroutine can always complete and exit cleanly.
No behavior change under normal execution.
Why was this MR needed?
start() always sends exactly one value into errCh. If Run() returns early (e.g. ctx.Done()), the send could block forever on an unbuffered channel, leaking the goroutine. A buffer of size 1 guarantees the send can complete.
What's the best way to test this MR?
go test ./helpers/runner_wrapper/...go test ./helpers/runner_wrapper -race
What are the relevant issue numbers?
N/A