cmcfarlen opened a new pull request, #13941:
URL: https://github.com/apache/trafficserver/pull/13941

   Cherry-picks for the 10.2.2 release, from the `For v10.2.2` column of the
   [ATS v10.2.x project](https://github.com/orgs/apache/projects/573).
   
   25 commits, in master merge order:
   
   | # | PR | master SHA | Note |
   |---|---|---|---|
   | 1 | #13608 | `9580d3eb` | Bound cache directory bucket walks in all builds 
|
   | 2 | #13788 | `617b749b` | Reduce noisy HTTP/2 origin logs — *test ported 
to Uranium* |
   | 3 | #13705 | `67e30858` | hrw4u: remove the bare operator statement — 
*drift* |
   | 4 | #13815 | `490a274f` | hrw4u: require Python 3.12 |
   | 5 | #13813 | `95c5217f` | hrw4u: map early request headers as inbound |
   | 6 | **#13756** | `e17299ca` | **prerequisite** — libswoc: validate CIDR 
prefix bounds |
   | 7 | #13747 | `ed755d8b` | Fix memory leaks after config reloads |
   | 8 | #13802 | `d9027d96` | Pin selection time in NextHop failover tests |
   | 9 | #13810 | `59a45a0d` | hrw4u: write no configuration for a failed run |
   | 10 | #13834 | `b3d01fae` | Fix h2_to_origin_safe_retry flakes — *test 
ported to Uranium* |
   | 11 | #13806 | `62a082d9` | Reduce contention in the shared origin pool — 
*test ported to Uranium, drag-in* |
   | 12 | #13847 | `09a93e71` | Fix dir entry cleanup after a failed 
aggregation write |
   | 13 | #13852 | `93349b3c` | Set VIA result for 206 and pass-through 
responses |
   | 14 | #13769 | `78742f6c` | Compact bloated cached response headers on 
update |
   | 15 | #13808 | `c7b9d39c` | libswoc: bound Vectray fixed span by element 
count |
   | 16 | #13858 | `3796630f` | Fix ATS crashes when reloading parent.config |
   | 17 | #13841 | `2ac2edca` | Fix per-volume direntries.used undercount at 
startup |
   | 18 | #13737 | `415c3585` | Apply the exempt list to connections_throttle — 
*release notes* |
   | 19 | #13909 | `1766be98` | Proxy Verifier v3.2.3 |
   | 20 | #13900 | `0768eb90` | url_sig: fix stack buffer underflow |
   | 21 | #13905 | `04475a0f` | Coverity: bound the RSS byte count |
   | 22 | #13887 | `9095be67` | cripts: Pass every AddPlugin() option to the 
remap plugin |
   | 23 | #13835 | `a14046e1` | Fix out-of-bounds read slicing json-escaped log 
fields |
   | 24 | #13911 | `94f337c7` | Send 502 when origin truncates before transform 
runs |
   | 25 | #13936 | `90d5f654` | Fix urtests for BoringSSL, RHEL-family hosts 
and packaged builds — *partial* |
   
   All are `MERGED`, `base=master`, single-parent squash merges, none labeled 
`Incompatible`,
   none already present on 10.2.x. #13928 (Uranium review follow-ups) is not 
picked: it is
   already on 10.2.x as #13937.
   
   ### Prerequisite added
   
   **#13756** (libswoc: validate CIDR prefix bounds) was not in the project. 
#13737's
   `test_invalid_prefix_*` cases expect `exempt_list: '192.0.2.1/256'` to be 
rejected; without
   #13756, 10.2.x's libswoc wraps `/256` to `/0` and accepts it as "every 
address", so those
   four tests fail. With it, all nine `connections_throttle_exempt` tests pass. 
It is also a
   fix in its own right for any configuration that takes address ranges.
   
   ### Not included
   
   - **#13859** (cripts: run the unit tests against the real TS API) depends on 
master-only
     build infrastructure: the `tsapi_objects` OBJECT library from #13516 
(which also carries
     production changes) and Catch2 built as a shared library. Left at `For 
v10.2.2`.
   - **#13768** (cache: reject a Doc longer than the bytes read) — its new 
`test_CacheVC_read`
     collision case relies on #13603's short-header rejection in 
`unmarshal_http_info`, which
     10.2.x lacks, so the test aborts in `HTTPInfo::unmarshal`. Dropped pending 
a decision on
     #13603. With it gone, #13847 registers only its own `CacheAggWriteDone` 
test.
   - #12825, #13086, #13196 are still open on master.
   
   ### Adaptations
   
   Each adapted commit carries a `[10.2.x: ...]` note after its cherry-pick 
trailer.
   
   - **Uranium tests.** 10.2.x now uses Uranium (#13889). #13788, #13834 and 
#13806 predate
     master's conversion (#13545) and edit or add AuTest files. Their test 
changes were ported
     using master's own Uranium conversions of those tests: the 
`h2_origin_cert_reverify`
     replays (plus the new permissive case and its audited-manifest entry), the
     `safe_retry_origin.py` helper, and the three `pool_lock_*.test.yaml` 
scenarios. Every
     test file touched by these picks matches master, except `test_replay.py`'s 
existing
     `ssl_multicert.config` assertion.
   - **Drift.** #13705 keeps the branch's `line=`/`ValueError` idioms in 
`ast_visitor.py`.
   - **Drag-in.** #13806 registers only `test_EventIOMigration.cc`; 
`test_NetHandler.cc` is
     master-only.
   - **#13936** drops its hunks for `test_stats_over_http_compression.py` and
     `test_tls_h2_cipher_suite.py`; neither test exists on 10.2.x.
   - **Release notes.** #13737 conflicted only in master's 11.0 
`whats-new`/`upgrading` text;
     the branch's notes were kept. Its behavior change (exempt addresses can 
now take ATS past
     `proxy.config.net.connections_throttle`) needs an entry in the 10.2.2 
release notes.
   
   ### Verification
   
   In the `ci.trafficserver.apache.org/ats/fedora:44` image, `ci-fedora-urtest` 
preset:
   
   - Build clean; ctest 186/186.
   - Full Uranium suite (`-n 8`): 1183 passed, 27 skipped, 1 failed. The 
failure,
     `thread_config/test_thread_config`, fails identically on unmodified 
`10.2.x`
     (`52120f0ef0`) in the same container, so it is environmental and not 
caused by these picks.
     An earlier run also saw `tls_engine_abort` fail once under load; it passed 
3/3 alone.
   
   Supersedes #13932, which was closed because of the AuTest → urtest PR-check 
switch.
   
   Kept as a draft so it lands by fast-forward rather than a merge commit.
   


-- 
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