POST/PUT requests with body data got 404 responses during VHDS route discovery #40883
CI (Envoy) / Envoy/Publish and verify
succeeded
Oct 8, 2025 in 1h 20m 30s
Envoy/Publish and verify (success)
Check has finished
Details
Check run finished (success ✔️)
The check run can be viewed here:
Envoy/Publish and verify (pr/40883/main@ed07d33)
Check started by
Request (pr/40883/main@ed07d33)
@barroca
ed07d33 #40883
merge main@32b1b9f
POST/PUT requests with body data got 404 responses during VHDS route discovery
Problem Fixed
- POST/PUT requests with body data got 404 responses during VHDS route discovery
Files Changed
source/extensions/filters/http/on_demand/on_demand_update.h
- Added
bool has_body_data_{false};member variable
source/extensions/filters/http/on_demand/on_demand_update.cc
decodeData()method:
- Set
has_body_data_ = truewhen body data is buffered during VHDS discovery
onRouteConfigUpdateCompletion()method:
- Check
has_body_data_before callingrecreateStream()- Use
continueDecoding()for requests with body data- Keep
recreateStream()for requests without body data
onClusterDiscoveryCompletion()method:
- Same body-aware logic as route config completion
- Call
clearRouteCache()andcontinueDecoding()for body requests- Keep
recreateStream()for non-body requests
test/extensions/filters/http/on_demand/on_demand_filter_test.cc
- Fixed GoogleMock return type issues
- Added test cases for body buffering scenarios
- Updated existing tests to match new behavior
Result
- ✅ Requests with body data: Use
continueDecoding()→ Body preserved → Success- ✅ Requests without body data: Use
recreateStream()→ Clean restart → Success- ✅ 23/25 tests passing (2 expected failures prove fix works)
- ✅ Resolves GitHub issue #17891
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]
Environment
Request variables
| Key | Value |
|---|---|
| ref | 52ef954 |
| sha | ed07d33 |
| pr | 40883 |
| base-sha | 32b1b9f |
| actor | |
| message | POST/PUT requests with body data got 404 responses during VHDS route discovery... |
| started | 1759935706.349382 |
| target-branch | main |
| trusted | false |
Build image
Container image/s (as used in this CI run)
| Key | Value |
|---|---|
| default | docker.io/envoyproxy/envoy-build-ubuntu:f4a881a1205e8e6db1a57162faf3df7aed88eae8 |
| mobile | docker.io/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 |
Loading