Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY to 10K #2521

Merged
merged 1 commit into from
Nov 16, 2023
Merged

Conversation

olix0r
Copy link
Member

@olix0r olix0r commented Nov 16, 2023

DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY was incorrectly set to 10 so that bursts of TCP connections could see EOF errors.

This change increases the value to match the HTTP queue capacity.

DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY was incorrectly set to 10 so that
bursts of TCP connections could see EOF errors.

This change increases the value to match the HTTP queue capacity.
@olix0r olix0r requested a review from a team as a code owner November 16, 2023 18:57
@olix0r olix0r enabled auto-merge (squash) November 16, 2023 19:03
Comment on lines +247 to 249
const DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY: usize = 10_000;
const DEFAULT_OUTBOUND_TCP_FAILFAST_TIMEOUT: Duration = Duration::from_secs(3);
const DEFAULT_OUTBOUND_HTTP_QUEUE_CAPACITY: usize = 10_000;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit, take it or leave it: should we assign one of these defaults to the other default, so that we can't change one without also changing the other?

Suggested change
const DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY: usize = 10_000;
const DEFAULT_OUTBOUND_TCP_FAILFAST_TIMEOUT: Duration = Duration::from_secs(3);
const DEFAULT_OUTBOUND_HTTP_QUEUE_CAPACITY: usize = 10_000;
const DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY: usize = 10_000;
const DEFAULT_OUTBOUND_TCP_FAILFAST_TIMEOUT: Duration = Duration::from_secs(3);
const DEFAULT_OUTBOUND_HTTP_QUEUE_CAPACITY: usize = DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY

that avoids this kind of regression in the future, and if we were to eventually decide that they should be different we could always change it back...

@olix0r olix0r merged commit bf5cb67 into main Nov 16, 2023
10 checks passed
@olix0r olix0r deleted the ver/opaq-cap branch November 16, 2023 20:07
@hawkw hawkw mentioned this pull request Nov 16, 2023
olix0r added a commit to linkerd/linkerd2 that referenced this pull request Nov 17, 2023
* Include server address in server error logs (linkerd/linkerd2-proxy#2500)
* dev: v42 (linkerd/linkerd2-proxy#2501)
* Separate tls::ServerName and identity::Id types (linkerd/linkerd2-proxy#2506)
* Use reference-counted strings in dns::Name (linkerd/linkerd2-proxy#2509)
* build(deps): bump tj-actions/changed-files from 39.2.0 to 40.1.1 (linkerd/linkerd2-proxy#2508)
* build(deps): bump actions/checkout from 4.1.0 to 4.1.1 (linkerd/linkerd2-proxy#2485)
* ci: Fix check-each workflow (linkerd/linkerd2-proxy#2511)
* ci: Turn off debuginfo in ci test builds (linkerd/linkerd2-proxy#2512)
* ci: Fix fuzzer listing (linkerd/linkerd2-proxy#2513)
* Use heap indirection to manage type signatures (linkerd/linkerd2-proxy#2510)
* dev: optimize image build (linkerd/linkerd2-proxy#2452)
* dev: Disable nightly install for now (linkerd/linkerd2-proxy#2515)
* meshtls: Extract TLS id verification out of TLS backends (linkerd/linkerd2-proxy#2507)
* Update DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY to 10K (linkerd/linkerd2-proxy#2521)
* admin: Add optional /debug/pprof/profile endpoint (linkerd/linkerd2-proxy#2516)

Signed-off-by: Oliver Gould <[email protected]>
olix0r added a commit to linkerd/linkerd2 that referenced this pull request Nov 17, 2023
* Include server address in server error logs (linkerd/linkerd2-proxy#2500)
* dev: v42 (linkerd/linkerd2-proxy#2501)
* Separate tls::ServerName and identity::Id types (linkerd/linkerd2-proxy#2506)
* Use reference-counted strings in dns::Name (linkerd/linkerd2-proxy#2509)
* build(deps): bump tj-actions/changed-files from 39.2.0 to 40.1.1 (linkerd/linkerd2-proxy#2508)
* build(deps): bump actions/checkout from 4.1.0 to 4.1.1 (linkerd/linkerd2-proxy#2485)
* ci: Fix check-each workflow (linkerd/linkerd2-proxy#2511)
* ci: Turn off debuginfo in ci test builds (linkerd/linkerd2-proxy#2512)
* ci: Fix fuzzer listing (linkerd/linkerd2-proxy#2513)
* Use heap indirection to manage type signatures (linkerd/linkerd2-proxy#2510)
* dev: optimize image build (linkerd/linkerd2-proxy#2452)
* dev: Disable nightly install for now (linkerd/linkerd2-proxy#2515)
* meshtls: Extract TLS id verification out of TLS backends (linkerd/linkerd2-proxy#2507)
* Update DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY to 10K (linkerd/linkerd2-proxy#2521)
* admin: Add optional /debug/pprof/profile endpoint (linkerd/linkerd2-proxy#2516)

* proxy: Use debian12 distroless base image

Signed-off-by: Oliver Gould <[email protected]>
hawkw pushed a commit that referenced this pull request Nov 22, 2023
DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY was incorrectly set to 10 so that
bursts of TCP connections could see EOF errors.

This change increases the value to match the HTTP queue capacity.
@hawkw hawkw mentioned this pull request Nov 22, 2023
hawkw pushed a commit that referenced this pull request Nov 22, 2023
DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY was incorrectly set to 10 so that
bursts of TCP connections could see EOF errors.

This change increases the value to match the HTTP queue capacity.
hawkw added a commit to linkerd/linkerd2 that referenced this pull request Nov 22, 2023
DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY was incorrectly set to 10 so that
bursts of TCP connections could see EOF errors.

This change increases the value to match the HTTP queue capacity.

---

5a910be0 Update DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY to 10K (linkerd/linkerd2-proxy#2521)

Signed-off-by: Eliza Weisman <[email protected]>
hawkw added a commit to linkerd/linkerd2 that referenced this pull request Nov 22, 2023
## stable-2.14.5

This stable release fixes a proxy regression where bursts of TCP
connections could result in EOF errors, due to an incorrect queue
capacity. In addition, it includes fixes for the control plane,
dependency upgrades, and support for image digests in Linkerd manifests.

* Added a controlPlaneVersion override to the `linkerd-control-plane``
  Helm chart to support including SHA256 image digests in Linkerd
  manifests (thanks @cromulentbanana!) ([#11406]; fixes [#11312])
* Added a `checksum/config `annotation to the destination and proxy
  injector deployment manifests, to force restarting those workloads
  whenever their webhook secrets change during upgrade (thanks
  @iAnomaly!) ([#11440]; fixes [#6940])
* Updated the Policy controller's OpenSSL dependency to v3, as OpenSSL
  1.1.1 is EOL ([#11625])
* proxy: Increased `DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY` to prevent EOF
  errors during bursts of TCP connections (proxy PR [#2521][proxy-2521])

[#11406]: #11406
[#11312]: #11312
[#11440]: #11440
[#6940]: #6940
[#11625]: #11625
[proxy-2521]: linkerd/linkerd2-proxy#2521
hawkw added a commit to linkerd/linkerd2 that referenced this pull request Nov 22, 2023
## stable-2.14.5

This stable release fixes a proxy regression where bursts of TCP
connections could result in EOF errors, due to an incorrect queue
capacity. In addition, it includes fixes for the control plane,
dependency upgrades, and support for image digests in Linkerd manifests.

* Added a controlPlaneVersion override to the `linkerd-control-plane``
  Helm chart to support including SHA256 image digests in Linkerd
  manifests (thanks @cromulentbanana!) ([#11406]; fixes [#11312])
* Added a `checksum/config `annotation to the destination and proxy
  injector deployment manifests, to force restarting those workloads
  whenever their webhook secrets change during upgrade (thanks
  @iAnomaly!) ([#11440]; fixes [#6940])
* Updated the Policy controller's OpenSSL dependency to v3, as OpenSSL
  1.1.1 is EOL ([#11625])
* proxy: Increased `DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY` to prevent EOF
  errors during bursts of TCP connections (proxy PR [#2521][proxy-2521])

[#11406]: #11406
[#11312]: #11312
[#11440]: #11440
[#6940]: #6940
[#11625]: #11625
[proxy-2521]: linkerd/linkerd2-proxy#2521
hawkw added a commit to linkerd/linkerd2 that referenced this pull request Nov 22, 2023
## stable-2.14.5

This stable release fixes a proxy regression where bursts of TCP
connections could result in EOF errors, due to an incorrect queue
capacity. In addition, it includes fixes for the control plane,
dependency upgrades, and support for image digests in Linkerd manifests.

* Added a controlPlaneVersion override to the `linkerd-control-plane``
  Helm chart to support including SHA256 image digests in Linkerd
  manifests (thanks @cromulentbanana!) ([#11406]; fixes [#11312])
* Added a `checksum/config `annotation to the destination and proxy
  injector deployment manifests, to force restarting those workloads
  whenever their webhook secrets change during upgrade (thanks
  @iAnomaly!) ([#11440]; fixes [#6940])
* Updated the Policy controller's OpenSSL dependency to v3, as OpenSSL
  1.1.1 is EOL ([#11625])
* proxy: Increased `DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY` to prevent EOF
  errors during bursts of TCP connections (proxy PR [#2521][proxy-2521])

[#11406]: #11406
[#11312]: #11312
[#11440]: #11440
[#6940]: #6940
[#11625]: #11625
[proxy-2521]: linkerd/linkerd2-proxy#2521
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants