response decoder: Roll forward ResponseDecoderHandle#41193
Envoy/Checks (success)
Check has finished
Details
Check run finished (success ✔️)
The check run can be viewed here:
Envoy/Checks (pr/41193/main@dcb21e3)
Check started by
Request (pr/41193/main@dcb21e3)
@danzh2010
dcb21e3 #41193
merge main@413d315
response decoder: Roll forward ResponseDecoderHandle
Commit Message: Reapply "response decoder: add new interfaces for life time tracking of response decoder (#41048)"
Additional Description: In addition to changes in #41048, this PR added a new constructor to ResponseDecoderWrapper to take a ResponseDecoderHandle to avoid accessing the decode object at anytime without checking its liveliness. It also changes ConnectivityGrid and HttpConnPoolImplBase to retain an ResponseDecoderHandle rather than directly referencing to ResponseDecoder during the async connection establishment.
Added a regression test for the crash observed with the previous change.
Risk Level: medium
Testing: new integration tests
Docs Changes: N/A
Release Notes: Y
Platform Specific Features: N/A
Runtime guard: envoy.reloadable_features.use_response_decoder_handle default true and envoy.reloadable_features.abort_when_accessing_dead_decoder default false
Environment
Request variables
| Key | Value |
|---|---|
| ref | 4d2236c |
| sha | dcb21e3 |
| pr | 41193 |
| base-sha | 413d315 |
| actor | |
| message | response decoder: Roll forward ResponseDecoderHandle... |
| started | 1758829692.187535 |
| target-branch | main |
| trusted | false |
Build image
Container image/s (as used in this CI run)
| Key | Value |
|---|---|
| default | envoyproxy/envoy-build-ubuntu:f4a881a1205e8e6db1a57162faf3df7aed88eae8 |
| mobile | envoyproxy/envoy-build-ubuntu:mobile-f4a881a1205e8e6db1a57162faf3df7aed88eae8 |
Version
Envoy version (as used in this CI run)
| Key | Value |
|---|---|
| major | 1 |
| minor | 36 |
| patch | 0 |
| dev | true |