Use Net::HTTP::Persistent in Diego client #3170
Merged
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.
This replaces
HTTPClient
withNet::HTTP::Persistent
in theDiego::Client
class.Net::HTTP::Persistent
is based onNet::HTTP
which automatically triggers a failover to another IP address after reaching the given connect timeout.Furthermore
Net::HTTP::Persistent
adds persistent HTTP connections and thread safety. It is configured to use a pool of up to 50 connections. This equals the size ofWorkPool
s used by various background processes (e.g. deployment updater).Background information
ℹ️ Use case: Mitigates the risk of
Runner is unavailable
errors during a cf push when the client is unable to reach a bbs instance.❌ First, discarded solution proposal: #3002
✔️ Second, merged solution proposal: #3048
💥 Issues caused by #3048
sync-integration-tests
🔄 Revert PR: #3113
I have reviewed the contributing guide
I have viewed, signed, and submitted the Contributor License Agreement
I have made this pull request to the
main
branchI have run all the unit tests using
bundle exec rake
I have run CF Acceptance Tests