Don't exit the blocking query when the abandonCh closes
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
As long as we fetch a fresh `abandonCh` in the rpc.go's blocking query wrapper, we shouldn't need to return all the way back to the caller. Fix this in a similar fashion as Nomad.
Here's the reference code from Nomad:
https://github.com/hashicorp/nomad/blob/v0.5.6/nomad/rpc.go#L338-L398
And the corresponding Code in Consul:
https://github.com/hashicorp/consul/blob/v0.8.0/consul/rpc.go#L349-L419
Contributor guide
Research direction
Start in rpc.go's blocking query wrapper and compare its behavior with the linked Nomad and Consul implementations. Confirm that closing abandonCh does not return all the way to the caller when a fresh channel can be fetched, then verify the blocking-query behavior with the relevant tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend-api-design, distributed-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100