sockets: flipping graceful client socket creation failure#32602
sockets: flipping graceful client socket creation failure#32602RyanTheOptimist merged 2 commits intoenvoyproxy:mainfrom
Conversation
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
|
/retest |
|
so my concern with the last PR was that I was missing some corner case where we weren't release asserting on the listener side, but it turns out we really were - in the case of not binding to socket we really never create the socket so no need to release assert as socket creation can't fail. |
RyanTheOptimist
left a comment
There was a problem hiding this comment.
LGTM, modulo a typo in the release notes (and a question to confirm I understand what's happening)
changelogs/current.yaml
Outdated
| - area: sockets | ||
| change: | | ||
| Failure to create an upstream socket should now result in clean connection failure rather than failing a release assert. This behavior | ||
| can be temporarily reverted by setting runtime feature ``envoy.restart_features_.llow_client_socket_creation_failure`` to false. |
There was a problem hiding this comment.
nit: "features_.llow" => "features.allow", I think?
| UdsListenSocket::UdsListenSocket(const Address::InstanceConstSharedPtr& address) | ||
| : ListenSocketImpl(ioHandleForAddr(Socket::Type::Stream, address, {}), address) { | ||
| RELEASE_ASSERT(io_handle_->isOpen(), ""); | ||
| RELEASE_ASSERT(io_handle_ && io_handle_->isOpen(), ""); |
There was a problem hiding this comment.
From the release notes, the impression I have is that this release assert change would be guarded y the runtime feature. But that's not the case here. Presumably that's ok, because this is just downstream of the actual important code which guarded by the feature. is that right?
|
/wait |
* main: (151 commits) http3: fixing an upstream threading issue and bumping http3 upstream code back to alpha (envoyproxy#32640) rlqs: reset quota usage (envoyproxy#32569) proxy status: add more mapping to proxystatus (envoyproxy#32606) rlqs: add logging around token bucket (envoyproxy#32612) Logging: ENVOY_BUG include filter name. (envoyproxy#32663) mobile: Reenable the FilterIntegrationTest.AltSvcCachedH2Slow test (envoyproxy#32675) c++20 by default (envoyproxy#32585) Docs: Add diagram for histogram stat sink. (envoyproxy#32665) Fix null node for list of struct in payload_to_metadaata filter (envoyproxy#32309) metrics_service: populate histogram summary sample sum (envoyproxy#32666) build(deps): bump postgres from `0e564da` to `f58300a` in /examples/shared/postgres (envoyproxy#32632) build(deps): bump the examples-ext-authz group in /examples/ext_authz with 1 update (envoyproxy#32654) build(deps): bump distroless/base-nossl-debian12 from `28dc895` to `0e777c6` in /ci (envoyproxy#32652) Update QUICHE from 02047e04d to 3373df94b (envoyproxy#32650) ci/logging: Add failure detection (envoyproxy#32662) Change udpa renaming workaround to not compile the same archive twice (envoyproxy#32647) sockets: flipping graceful client socket creation failure (envoyproxy#32602) TcpAsyncClient: enhance reconnect robustness (envoyproxy#32578) owners: adding Fredy as an Enovy Mobile maintainer (envoyproxy#32638) ci: Add scheduled garbage collection (and fix retest) (envoyproxy#32639) ...
Allowing graceful client socket creation failure by default in Envoy
Risk Level: medium
Testing: yes
Docs Changes: n/a
Release Notes: inline
[Optional Runtime guard:] yes.