cmcfarlen opened a new pull request, #13678:
URL: https://github.com/apache/trafficserver/pull/13678
Cherry-picks for the **10.1.5** release, taken from the `ATS v10.1.x`
project items at
status `For v10.1.1`. Picked in master-`mergedAt` order. Every commit
carries a
`(cherry picked from commit ...)` trailer.
Draft on purpose — please land by fast-forward, not via the merge button.
## Landed (11)
| PR | Title | Pick |
|---|---|---|
| #13322 | slice_prefetch.test.py: address cache.log flakiness | adapted |
| #13290 | Expand client IP debug logging test coverage | adapted |
| #13372 | autest: skip async handshake test when plugin is absent | clean |
| #13323 | stale_response.test.py: address log wait flakiness | adapted |
| #13390 | Handle webp_transform input robustly | adapted |
| #13379 | Preserve client port in transaction logs | adapted |
| #13423 | Fix Fedora OTEL and WAMR builds | clean |
| #13432 | healthchecks: reference count status file data | clean |
| #13410 | Cache empty chunked responses | adapted |
| #13642 | Proxy Verifier v3.2.0 | clean |
| #13558 | keep buflen in sync in dns_process address copy path | clean |
## Adaptation notes
**#13322** — 10.1.x lacks #13215 (`slice: Avoid redundant prefetch
re-scheduling`), which
added the `bytes 10-14/18 hit-fresh` cache-log line. That entry was dropped
from the new
`expected_cache_entries` list so the assertions match what this branch
actually emits (per
the branch's own gold file, now removed by this commit).
**#13290** — this branch's `ats_replay.test.ext` predates master's
`error_log` /
`access_log` / server-log / client-log validation blocks and
`_requires_persistent_ats`.
Auto-merge wanted to drag all of that in; only #13290's own changes were kept
(`_contains_expression` helper, `enable_quic`,
`http_ports`/`https_ports`/`http3_ports`
popping). Added the `import re` that master already had. The four new replay
files only use
`traffic_out` validation, `multiline`, `enable_tls` and `enable_quic`, all
of which this
branch supports (`MakeATSProcess` takes `enable_quic`;
`AddVerifierClientProcess` takes
`http3_ports`; `Testers.ContainsExpression` takes `reflags`).
**#13323** — kept this branch's `MAX_MEMORY_USAGE` early-return block, which
master does not
have, and applied the new `expect_log_entry` helper on top.
**#13390** — inverted order relative to master. On master #13390 landed
*before*
`webp_transform: bound buffered body and ImageMagick decode`; on 10.1.x that
hardening was
backported *first* (`c2b40948d2`), without #13390 underneath. Resolved by
taking master's
post-hardening `ImageTransform.cc` — the resulting file is
**byte-identical** to master at
`b4a40d1b13`, i.e. exactly this branch's file plus #13390 and nothing else.
Not compile-checked locally (no ImageMagick/Magick++ on the build host,
`BUILD_MAGICK=FALSE`);
relying on CI for that file.
**#13379** — 10.1.x predates the LogData de-virtualization (#13123), so
`src/proxy/logging/TransactionLogData.cc` does not exist here. The
equivalent fix is applied
to `LogAccess::marshal_client_host_port()`, the same accessor on this
branch. This also lines
up with `marshal_client_host_ip()`, which already reads
`t_state.effective_client_addr`, so
the logged client IP and port now come from the same endpoint.
`effective_client_addr` is populated identically on both branches
(`HttpSM.cc`, from
`netvc->get_effective_remote_addr()`).
**#13410** — scoped-enum drift only: `field_find(std::string_view)` → the
branch's
`field_find(MIME_FIELD_CONTENT_LENGTH, MIME_LEN_CONTENT_LENGTH)`,
`HTTPStatus::NO_CONTENT` →
`HTTP_STATUS_NO_CONTENT`, and `HttpTunnelType_t::CACHE_WRITE` →
`HT_CACHE_WRITE`. Insertion
and deletion counts match upstream exactly.
## Not picked
- **#13102** (`Fix connect attempt retries`) — carries the `Incompatible`
label, and
legitimately: it changes retry behavior and renames
`connect_attempts_max_retries_down_server` to
`connect_attempts_max_retries_suspect_server` (old name deprecated). Left
at
`For v10.1.1`, milestone untouched, for the RM to decide.
- **#13514** (`Share HTTP accept properties`) — an 18-file architectural
refactor
(new shared HTTP acceptor base, acceptor lifetime changes), labeled
`Cleanup`, milestoned
`11.0.0`, and **not present on 10.2.x**. Backporting it to 10.1.x would
leave the older
maintenance branch carrying a refactor the newer one lacks, and needed 5
hand-resolved
conflicts across the HTTP/2, HTTP/3 and Socks accept paths for no bugfix
payoff. Left at
`For v10.1.1`, milestone untouched.
- **#13467** — already an open PR targeting `10.1.x` directly, so there is
nothing to
cherry-pick; it needs review and merge.
## Local verification
`cmake --preset dev` + `cmake --build build-dev`: clean.
`ctest`: 105/106 pass. The one failure is `test_jsonrpcserver` (`Subprocess
aborted`), the
known macOS-local unix-socket/restart-timing flake; nothing in this batch
touches jsonrpc.
Autests were not run locally (macOS host, and the proxy-verifier fetch is
blocked here) —
CI is the arbiter for the autest changes, which are the bulk of this batch.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]