upstream: allow configuration of connection pool limits#6298
Merged
mattklein123 merged 20 commits intoenvoyproxy:masterfrom Mar 26, 2019
Merged
upstream: allow configuration of connection pool limits#6298mattklein123 merged 20 commits intoenvoyproxy:masterfrom
mattklein123 merged 20 commits intoenvoyproxy:masterfrom
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description: We recently added a connection pool map class which maps keys to connection pools. A new key means a new connection pool. To prevent unbounded growth of connection pools, we placed a limit on the pool. Allocating beyond the limit causes the map to attempt to reclaim unused pools prior to allocating a new one. If none can be reclaimed, the map returns a failure.
We did not add the ability to configure the limit; its default was unlimited. This commit adds the ability to configure a limit by extending the cluster circuit breaker thresholds with a new optional configuration field: max_connection_pools.
Worth noting:
Risk Level: Medium
We're in the main code path for http. But, the default behaviour should not have changed, so there shouldn't be any major impact.
Testing:
Unit testing + integration testing
I spun up a local envoy instance, showing that:
Docs Changes: Protobuf docs + additions to the circuit breaking section in the overview.
Release Notes: Added a release not for the new circuit breaker.