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

   `proxy_serve_stale_dns_fail` asked each proxy for a stale copy 7 seconds 
after pushing it, under a single 15 second stale limit, so the "serves stale" 
responses had only 8 seconds of headroom. When a CI agent stalls longer than 
that, the proxy correctly answers `500 Cannot find server` instead of the 
expected 200 and the gold file mismatches. That is the failure CI has been 
hitting on busy agents, where the test's proxies ran about 70 seconds against a 
usual 56.
   
   This gives the two kinds of checks their own stale window. The proxies now 
allow 300 seconds, so a late request can no longer turn a "serves stale" 
response into a 500. The requests that expect a copy to be too old send 
`X-Stale-Window: narrow`, and a `header_rewrite` `set-config` rule shrinks 
`proxy.config.http.cache.max_stale_age` to one second for that request only, so 
lateness only makes those responses more certain. Every request still reads the 
same cached copy, so the child's second request still checks that a copy 
rewritten by negative revalidation expires by its max-age. The 17 second waits 
go away, and the test drops from about 56 seconds to about 29.
   
   Testing, in the fedora:44 CI image: pausing the test for 20 seconds mid-run 
fails master with the CI signature and passes this change, which also passes a 
60 second pause. Widening the narrow window, shrinking the wide one, or 
dropping the wait before the child's second request each make the new test 
fail, so every check still discriminates. Repeated runs under heavy CPU and IO 
load passed every time, on two hosts, and under ASAN, UBSAN and TSAN builds.
   


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