# What a 1ms requestTimeout actually throws on a real MCP handshake -- captured, not guessed

requestTimeout=1ms, initializationTimeout=30s -- set deliberately far apart to see which
one actually governs the initialize() handshake

client.initialize() threw:
  [0] java.lang.RuntimeException: Client failed to initialize by explicit API call
  [0]   suppressed: java.lang.Exception: #block terminated with an error
  [1] java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 1ms in 'source(MonoDeferContextual)' (and no fallback has been configured)

confirmed: the real timeout-carrying exception is java.util.concurrent.TimeoutException, a plain JDK type from Reactor's
Flux.timeout() operator -- not a dedicated MCP timeout exception class.
