Fix dynamic discovery timeout to not retry sending requests, but wait for the same request to complete #2337
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.
What does this pull request do? Explain your changes. (required)
The last change with the dynamic timeout caused an issue in teststreams described in Discord.
The dynamic timeout PR changed the discovery between B<>O to work as follows:
The problem is that if O responds in, let's say,
1.5s
. Then, now the discovery will now take: 0.5s + 1s + 1.5s = 3sSo even though the response is in 1.5s, the overall time from the black-box perspective is 3s. That pollutes the orch teststream data.
This PR changes the dynamic timeout to not send new request, but to wait for the initial requests to complete (as proposed initially by @yondonfu)
Specific updates (required)
How did you test each of these updates (required)
Tested with local geth. Introduced artificial delay in O and checked the logs in B.
Does this pull request close any open issues?
Checklist:
make
runs successfully./test.sh
passREADME and other documentation updated