diag(quic-interop): log TESTCASE + parallel branch entry

Hypothesis: the [interop] / [batch] logs are missing because we're
hitting the SERIAL branch (parallel=false), not the parallel one —
which would explain perfectly the writer trace pattern:
  - streamsView grows by 1 every 2-3 drains
  - active stays at 6 or 7 (3 H3 init + at most 4 chunk streams)
  - one stream per RTT cadence on the wire

That's exactly what client.get(authority, path) looks like in
sequence. parallel=true would call prepareRequests for chunks of 64.

Two new unconditional log lines (low-volume, control-flow only,
NOT in hot paths):

  1. [boot] now includes TESTCASE and ROLE — to verify the runner
     is sending TESTCASE=multiplexing as expected
  2. [boot] transfer mode: parallel=BOOL urls=N — confirms which
     branch we took

If parallel=false despite TESTCASE=multiplexing, the bug is in our
testcase-to-parallel mapping (line 192 of InteropClient.kt).

If parallel=true but [interop]/[batch] still missing, the bug is
elsewhere.
This commit is contained in:
Claude
2026-05-07 14:19:08 +00:00
parent f13d1ae1eb
commit a9dc927cc6
2 changed files with 8 additions and 2 deletions
@@ -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-batch-log-v1"
const val WRITER_DEBUG_BUILD_ID: String = "2026-05-07-parallel-branch-v1"