fix(quic-interop): detect multiplexing by URL count, not TESTCASE name
The smoking gun from the 2026-05-07 multiplex run boot log: [boot] DEBUG=1; ...; TESTCASE=transfer; ROLE=client [boot] transfer mode: parallel=false urls=1999 quic-interop-runner sets TESTCASE_CLIENT=transfer for ALL the transfer-family testcases (transfer, multiplexing, transferloss, transfercorruption). Discrimination between transfer (1 file) and multiplexing (~2000 files) happens by URL count, NOT by TESTCASE name — so our check `parallel = (testcase == "multiplexing")` was always false, even for the multiplexing test, and we always took the serial fallback path: client.get(authority, path) per URL, opening one stream + awaiting before the next. That's why the wire showed exactly one stream per RTT for the entire 60s. Fix: parallel = (token count of REQUESTS env var) > 1. Effectively: - 1 URL → transfer testcase, serial path - >1 URL → multiplexing testcase, batched-parallel path Verified the writer's batched coalescing already works in unit tests (MultiplexingCoalescingTest, MultiplexingAioquicTpsTest both green at ~9 streams/packet). With this dispatch fix, the live runner should finally reach the batched code path. Bumped WRITER_DEBUG_BUILD_ID so the next [boot] line confirms the fix is deployed.
This commit is contained in:
@@ -39,4 +39,4 @@ var writerDebugEnabled: Boolean = false
|
||||
* docker layer cache didn't serve a stale jar). Bump when adding new
|
||||
* trace lines to make them traceable from the wire run.
|
||||
*/
|
||||
const val WRITER_DEBUG_BUILD_ID: String = "2026-05-07-parallel-branch-v1"
|
||||
const val WRITER_DEBUG_BUILD_ID: String = "2026-05-07-fix-parallel-detection-v1"
|
||||
|
||||
Reference in New Issue
Block a user