bryancall opened a new pull request, #13891: URL: https://github.com/apache/trafficserver/pull/13891
Several Uranium tests wait for an ATS log entry and give up after 10 seconds. With default records an entry can sit in its buffer for `proxy.config.log.max_secs_per_buffer` (5 s) and then wait up to one `proxy.config.log.periodic_tasks_interval` (5 s) before it is written, so it can take about ten seconds to reach disk. I measured 10.06 s for the Host/SNI mismatch entry in `test_tls_sni_host_policy` and 10.9 s for the custom log in `log_mstsms`. When the write lands just past the deadline the test fails, which is how `test_tls_sni_host_policy` failed in CI on [build 45701](https://ci.trafficserver.apache.org/job/Github_Builds/job/autest/45701/) for #13882, a change that only edits a header comment. The AuTest versions of these checks allowed 30 seconds. This raises the default wait in `wait_for_file_lines` and in replay `file_checks` to 30 seconds, drops the explicit 10 second waits on buffered logs (the h3 curl, Go and Python clients, qmux, `pqsi_pqsp`, `inactive_timeout` and `server_down`), gives `log_mstsms` 30 seconds, and has `test_tls_sni_host_policy` use `wait_for_file_lines` instead of its own 10 second poll. A passing test is not slowed down, since each wait returns as soon as the entry appears. `test_tls_resume_ca_replacement[global-ca-reload]` had a related problem. It stopped ATS and then read `squid.log`, but on SIGTERM ATS can exit before it writes the last log buffer, so the file was missing or short. It now waits for the expected lines while ATS is still running, as the AuTest did. Testing: I ran the full Uranium suite 126 times at `-n 16` on two Fedora 44 hosts, natively rather than in the CI image, about half of them with every core busy. Master passed 48 of those runs. Removing only the failures this change covers, the same runs would have passed 102. The covered failures were `global-ca-reload` 49 times (all without load), `log_mstsms` 12, `test_h3_curl` 4, `test_tls_sni_host_policy` 3, and `pqsi_pqsp`, `test_h3_python_client` and `test_abuse_shield_log_file` once each. With the log buffer held for 12 seconds, `test_tls_sni_host_policy`, `test_h3_curl`, `pqsi_pqsp` and `test_abuse_shield_log_file` fail on master and pass with this change. For `global-ca-reload`, stopping ATS right after the last request fails 4 of 4 on master, a 0.1 to 0.9 second pause before the stop passes 36 of 36, and this change passed 10 of 10. On current master (78f859bd7) with this change, the full suite passed 3 of 3 times on the host where master passed only 1 of 42 runs without load last night, and the touched tests passed 10 of 10 times with every core busy. `test_h3_go_client` and `test_qmux_go_client` are skipped on that host (no Go 1.24, no QMux build), so for those two this change only drops the 10 second cap. -- 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]
