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]

Reply via email to