CI: fix flacky ext/mysqli/tests/protocol_stmt_row_fetch_data.phpt - #23330
Conversation
iliaal
left a comment
There was a problem hiding this comment.
Confirmed the mechanism. The expectation here bakes in a coalesced pair, stmt_close followed immediately by the next prepare with no server response between them, so the single fread only lined up because of the 20ms wait. Dropping that wait to zero makes the current code fail 3 of 10 runs, while read_packets passes 15 of 15 with no wait at all.
One gap: my_mysqli_test_stmt_response_row_over_read_two_fields still ends with read(65536) and its expectation is coalescing-dependent in the same way, the final Received line in the ghsa stmt-row tests is 14 bytes whose first packet is 9 (stmt_close plus COM_QUIT). That backs stmt-row-{int,bit,float,double,string,date,datetime,time} and no-space, so the next flake lands there instead. Worth converting that trailing read to read_packets(2) here too.
|
This sounds correct! |
* PHP-8.5: CI: fix flacky ext/mysqli/tests/protocol_stmt_row_fetch_data.phpt (#23330)
* PHP-8.4: CI: fix flacky ext/mysqli/tests/protocol_stmt_row_fetch_data.phpt (php#23330)
The package got mixed together some time. E.g. https://github.com/php/php-src/actions/runs/31960468122/job/95197569482