Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is data race on
stop
channel. After verify write-timeout successfully, the case won't wait forblocker
to receive close signal fromstop
channel. If the newblocker
, which is to read-timeout verifier, get dial's result immediately, the newblocker
might fetch the message fromstop
channel before old one and then close the connection, which causes that theconn.Read
returnsEOF
when it reads data.How to reproduce this in linux devbox?
Use
taskset
to limit the test process in one-cpu.To fix this, suggest to use seperate
stop
channel to prevent from data race.Signed-off-by: Wei Fu [email protected]
Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.
REF: #14834 (comment)