Skip to content

conn pool: default enable runtime feature conn_pool_delete_when_idle#17577

Merged
ggreenway merged 1 commit intoenvoyproxy:mainfrom
ggreenway:enable-conn-pool-delete
Aug 4, 2021
Merged

conn pool: default enable runtime feature conn_pool_delete_when_idle#17577
ggreenway merged 1 commit intoenvoyproxy:mainfrom
ggreenway:enable-conn-pool-delete

Conversation

@ggreenway
Copy link
Member

Signed-off-by: Greg Greenway ggreenway@apple.com

Commit Message: This enables the new behavior (clean up conn pools when they're idle, to avoid leaking memory in some configurations) from #17403 by default. It can still be disabled by setting runtime feature envoy.reloadable_features.conn_pool_delete_when_idle to false.
Additional Description:
Risk Level: Medium
Testing: Test coverage was added in #17403.
Docs Changes:
Release Notes: Added in #17403
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

Signed-off-by: Greg Greenway <ggreenway@apple.com>
@alyssawilk
Copy link
Contributor

have we smoke tested somewhere yet?

@ggreenway
Copy link
Member Author

have we smoke tested somewhere yet?

It's still the same code (minus one possible crash when a cluster is removed via CDS) that @rgs1 smoke tested awhile ago.

@rgs1
Copy link
Member

rgs1 commented Aug 3, 2021

have we smoke tested somewhere yet?

It's still the same code (minus one possible crash when a cluster is removed via CDS) that @rgs1 smoke tested awhile ago.

... tested with the new tcp conn pool, whereas the additional crashers were with the old pool fwiw ...

@alyssawilk
Copy link
Contributor

Ah cool, didn't realize the prior version had been canaried.
Just to check my memory, the folks encountering tcp proxy crashes didn't provide additional data, and agreed they should switch back to the new pool in any case right? If so LGTM-as-long-as-you-cc-them because it's as safe as it's going to get (folks shouldn't be using the old pool without informing us the new one is problematic)

@ggreenway
Copy link
Member Author

@bianpengyuan FYI this change, that you reported a crash in #16948, is being reintroduced.

Looking at that report again, it's very possible that it was the same crash fixed in #17522. Not enough information to know for sure, but it's a possible match, so it may be fixed.

@ggreenway
Copy link
Member Author

coverage test flake; unrelated:

2021-08-03T20:04:16.6349000Z test/extensions/transport_sockets/starttls/starttls_integration_test.cc:329: Failure
2021-08-03T20:04:16.6350199Z Value of: test_server_->server().listenerManager().numConnections()
2021-08-03T20:04:16.6350878Z Expected: is equal to 1
2021-08-03T20:04:16.6351556Z   Actual: 0 (of type unsigned long)
2021-08-03T20:04:16.6352267Z Stack trace:
2021-08-03T20:04:16.6352891Z   0x454827: (unknown)
2021-08-03T20:04:16.6353611Z   0x7f6ad1696d96: testing::internal::HandleSehExceptionsInMethodIfSupported<>()
2021-08-03T20:04:16.6354475Z   0x7f6ad167b701: testing::internal::HandleExceptionsInMethodIfSupported<>()
2021-08-03T20:04:16.6355200Z   0x7f6ad1663042: testing::Test::Run()
2021-08-03T20:04:16.6355864Z   0x7f6ad1663b58: testing::TestInfo::Run()
2021-08-03T20:04:16.6356462Z ... Google Test internal frames ...```

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Check envoy-presubmit isn't fully completed, but will still attempt retrying.
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #17577 (comment) was created by @ggreenway.

see: more, trace.

@ggreenway
Copy link
Member Author

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #17577 (comment) was created by @ggreenway.

see: more, trace.

@ggreenway ggreenway merged commit ac8cbbd into envoyproxy:main Aug 4, 2021
baojr added a commit to baojr/envoy that referenced this pull request Aug 4, 2021
…bridge-stream

* upstream/main: (32 commits)
  tls: move ssl connection info into SocketAddressProvider (envoyproxy#17334)
  conn pool: default enable runtime feature `conn_pool_delete_when_idle` (envoyproxy#17577)
  api: LEDS api introduction (envoyproxy#17419)
  kafka: add support for api versions request in mesh-filter (envoyproxy#17475)
  ext_proc: Implement BUFFERED_PARTIAL processing mode (envoyproxy#17531)
  tooling: Async/pathlib/mypy cleanups and utils (envoyproxy#17505)
  xds: restructure CertificateProvider fields (envoyproxy#17201)
  Refactor OverloadIntegrationTest breaking out a test base, and the fake resource monitors. (envoyproxy#17530)
  listener: move active connection collection out of active tcp listener (envoyproxy#16947)
  tools: format checks for backticks (envoyproxy#17566)
  coverage: set lower limit for common/quic and common (envoyproxy#17573)
  v2: final source removal (envoyproxy#17565)
  test: bumping coverage (envoyproxy#17564)
  quic: enforcing header size and contents (envoyproxy#17520)
  Support for canonicalizing URI properly for AWS SigV4 signer (envoyproxy#17137)
  listener: add a stat for transport socket connect timeout (envoyproxy#17458)
  listener: add listen() error handling (envoyproxy#17427)
  http: return per route config when direct response is set (envoyproxy#17449)
  removing most v2 references from source/ (envoyproxy#17415)
  bug fix: return bootstrap when validating config (envoyproxy#17499)
  ...

Signed-off-by: Garrett Bourg <bourg@squareup.com>
leyao-daily pushed a commit to leyao-daily/envoy that referenced this pull request Sep 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants