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

   `test_rate_limit_sni_queue` and `test_rate_limit_sni_expiry` fail 
intermittently under parallel load. They time out waiting for `Queueing the VC` 
/ `too old` in `traffic.out`.
   
   Both client scripts start the connection that holds the single slot with 
`${OSSL} <"$fifo" &` and then immediately run `rm -rf "$fifo_dir"`. The 
`<"$fifo"` redirection happens in the forked child, so the parent can delete 
the FIFO before the child opens it. When that happens, `openssl` never starts 
and nothing holds the slot. Every later connection gets a free slot and 
releases it about 2 ms later, nothing is queued, and the expected log line 
never appears. In a failing run, the only two CLIENT_HELLOs in each log are 
exactly as far apart as steps 2 and 5 of the script (4 s for the queue test, 5 
s for the expiry test), which shows the step 1 holder never connected.
   
   This change removes the FIFO on exit instead. Launch order is unchanged, so 
the holder still doesn't inherit fd 3 and still gets EOF when the script closes 
fd 3.
   
   This only affects 10.2.x. The master versions of these scripts open the FIFO 
before launching any client, so they don't have this race.
   
   Tested by running `-k rate_limit` in parallel 5 times: 12/12 passed each 
time.
   


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