connect_attempts AuTest is flaky: the gold file pins sm_id, which is ordering dependent
I maintainer di solito rispondono entro 2 giorni
@bryancall ci sta già lavorando.
Dal 10/9/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
connect_attempts fails intermittently. The gold file pins the HTTP state machine id
of each transaction, which is an ordering artifact rather than part of the behaviour
the test is asserting.
Observed
CI build 43249, AuTest 0of4, 1 failed out of 146 tests. Every other assertion in the
run passed; the failure is a gold diff:
- ... for host='example.com' sm_id=0 ... retry_attempts=0 ... (gold)
+ ... for host='example.com' sm_id=2 ... retry_attempts=0 ... (actual)
- ... url='...' fail_count='3' marking down (gold)
+ ... url='...' fail_count='2' marking down (actual)
Retriggering the identical commit passed, so it is not deterministic.
Cause
tests/gold_tests/dns/gold/connect_attempts_single_max_retries_error_log.gold
wildcards the timestamp and the port on every line, but spells the state machine id
out literally:
`` CONNECT: attempt fail [CONNECTION_ERROR] to 0.0.0.1:`` for host='example.com' sm_id=0 `` retry_attempts=0 url='...'
`` CONNECT: attempt fail [CONNECTION_ERROR] to 0.0.0.1:`` for host='example.com' sm_id=2 `` retry_attempts=0 url='...'
The test drives two transactions. The gold assumes the one that gets sm_id=0 always
logs its retries before the one that gets sm_id=2. When the two interleave the other
way the comparison fails, even though the retry behaviour under test was correct.
fail_count has the same character: it is a counter sampled at a moment, not the
property the test exists to check.
Testers.GoldFile compares line by line and has no ordering option, so the gold itself
is where this has to be addressed.
Suggested fix
Wildcard the state machine id the same way the timestamp and port already are, so the
gold asserts what the test is about (two transactions, each retried the configured
number of times) rather than which id they were assigned. If the count of distinct
transactions matters, that is better expressed as a separate assertion than by pinning
the ids.
If preserving the ids is deliberate, Testers.GoldFileList accepts several golds and
passes on any of them, which would cover both interleavings.
Notes
Found while testing an unrelated change, #13661, whose diff is limited to
src/tsutil/Regex.cc, its unit test, and the regex_remap autest. connect_attempts
does not use regex, and the test passed five out of five locally on that branch.
Same class as #13662: a test asserting an incidental runtime value.
- Lingua principale
- C++
- Stelle
- 2k
- Fork
- 878
- Merge medio
- 3g 16h
- PR unite (30g)
- 91
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/trafficserver
-
Bug HTTP Support
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
apache/trafficserver#13118 ·
I maintainer di solito rispondono entro 2 giorni
-
header_rewrite: rm-destination after set-destination URL crashes traffic_serverForse già presa @moonchen l’ha presa 6 giorni fa. ApertaBug Crash header_rewrite Plugins
apache/trafficserver#13800 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
apache/trafficserver#13798 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
apache/trafficserver#13784 ·
I maintainer di solito rispondono entro 2 giorni
-
Plugins
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
apache/trafficserver#13774 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di apache/trafficserver
Issue simili
-
[BUG] Process Tab LayourApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
c++ good first issue M2: audio plumbing no hardware needed tests
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
GageLawton/noise-cancellation#23 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
nullmoth/nvidia-macos-driver#126 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
objectionary/eo-graphs#85 ·