Skip to content

Support HTTP/3 in Jetty and JRE HTTP Client#1949

Draft
kwin wants to merge 7 commits into
masterfrom
feature/http3
Draft

Support HTTP/3 in Jetty and JRE HTTP Client#1949
kwin wants to merge 7 commits into
masterfrom
feature/http3

Conversation

@kwin

@kwin kwin commented Jul 6, 2026

Copy link
Copy Markdown
Member

Consolidate http version configuration among HTTP transporters Default to HTTP/2 in all transporters except Apache HTTP Client 4.x

Still WIP

Following this checklist to help us incorporate your
contribution quickly and easily:

  • Your pull request should address just one issue, without pulling in other changes.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Each commit in the pull request should have a meaningful subject line and body.
    Note that commits might be squashed by a maintainer on merge.
  • Write unit tests that match behavioral changes, where the tests fail if the changes to the runtime are not applied.
    This may not always be possible but is a best-practice.
  • Run mvn verify to make sure basic checks pass.
    A more thorough check will be performed on your pull request automatically.
  • You have run the integration tests successfully (mvn -Prun-its verify).

If your pull request is about ~20 lines of code you don't need to sign an
Individual Contributor License Agreement if you are unsure
please ask on the developers list.

To make clear that you license your contribution under
the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

@kwin kwin force-pushed the feature/http3 branch 2 times, most recently from 95b0e32 to 0dd1244 Compare July 6, 2026 15:04
Consolidate http version configuration among HTTP transporters
Default to HTTP/2 in all transporters except Apache HTTP Client 4.x

Still WIP
@kwin kwin force-pushed the feature/http3 branch from 0dd1244 to f079e3c Compare July 6, 2026 16:43
@kwin

kwin commented Jul 6, 2026

Copy link
Copy Markdown
Member Author

@vy Maybe you can have a look. Connecting from Java HTTP Client via HTTP3 to a local Jetty HTTP/3 server fails in JdkTransporterTest.testGet_HTTP3 with just

java.net.ConnectException: Connection to https://localhost:61911/ refused
	at org.eclipse.aether.transport.jdk.JdkTransporter.enhance(JdkTransporter.java:235)
	at org.eclipse.aether.transport.jdk.JdkTransporter.implGet(JdkTransporter.java:300)
	at org.eclipse.aether.spi.connector.transport.AbstractTransporter.get(AbstractTransporter.java:64)
	at org.eclipse.aether.internal.test.util.http.HttpTransporterTest.testGet_HTTP3(HttpTransporterTest.java:844)
	at org.eclipse.aether.transport.jdk.JdkTransporterTest.testGet_HTTP3(JdkTransporterTest.java:111)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1612)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1612)
Caused by: java.net.ConnectException: No response from peer for 30 seconds
	at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:1044)
	at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133)
	at org.eclipse.aether.transport.jdk.JdkTransporter.send(JdkTransporter.java:462)
	at org.eclipse.aether.transport.jdk.JdkTransporter.implGet(JdkTransporter.java:283)
	... 6 more
Caused by: java.net.ConnectException: No response from peer for 30 seconds
	at java.net.http/jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer.handle(QuicConnectionImpl.java:502)
	at java.net.http/jdk.internal.net.http.quic.QuicTimerQueue.processDue(QuicTimerQueue.java:298)
	at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:182)
	at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
	at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1516)


Logging enabled with -Djdk.internal.httpclient.debug=true leads to

DEBUG: [main] [35ms] HttpClientImpl(1) proxySelector is sun.net.spi.DefaultProxySelector@452e26d0 (user-supplied=false)
DEBUG: [main] [44ms] QuicClient(HttpClientImpl(1)) created
[main] INFO org.eclipse.jetty.quic.quiche.server.AbstractQuicheServerConnectionFactory - HTTP/3+QUIC support is experimental and not suited for production use.
[main] INFO org.eclipse.jetty.util.ssl.SslContextFactory - x509=oejus.X509@2b46a8c1(localhost,h=[myrepo],a=[],w=[]) for oejus.SslContextFactory$Server@1d572e62[provider=null,keyStore=file:///Users/715508/git/maven/maven-resolver/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk11/target/keystore-self-signed,trustStore=null]
[main] INFO org.eclipse.jetty.server.AbstractConnector - Started oejqqs.QuicheServerConnector@58dea0a5{h3, (h3)}{0.0.0.0:61911}
DEBUG: [HttpClient-1-SelectorManager] [400ms] Http2ClientImpl stopping
DEBUG: [HttpClient-1-SelectorManager] [407ms] HttpClientImpl(1) SelectorManager shutting down
DEBUG: [HttpClient-1-SelectorManager] [409ms] Http2ClientImpl stopping
DEBUG: [main] [421ms] HttpClientImpl(2) proxySelector is sun.net.spi.DefaultProxySelector@452e26d0 (user-supplied=false)
DEBUG: [main] [423ms] QuicClient(HttpClientImpl(2)) created
DEBUG: [main] [487ms] HttpClientImpl(2) ClientImpl (async) send https://localhost:61911/repo/file.txt GET
DEBUG: [main] [496ms] Exchange establishing exchange for https://localhost:61911/repo/file.txt GET #1,
	 proxy=null
DEBUG: [main] [496ms] ExchangeImpl get: Trying to get HTTP/3 connection; config is HTTP_3_URI_ONLY
DEBUG: [main] [496ms] ExchangeImpl get: no HTTP/3 pooled connection found
DEBUG: [main] [497ms] Http3ClientImpl(HttpClientImpl(2)) lookup found null for https://localhost:61911/repo/file.txt GET
DEBUG: [main] [499ms] AltServicesRegistry(2) looking up alt-service for: https://localhost:61911
DEBUG: [main] [503ms] Http3ClientImpl(HttpClientImpl(2)) Creating connection for Exchange https://localhost:61911/repo/file.txt GET #1
DEBUG: [main] [510ms] HttpConnection Attempting to get an HTTP/3 connection
DEBUG: [main] [512ms] Http3ClientImpl(HttpClientImpl(2)) Checking ALT-SVC regardless of H3_DISCOVERY settings
DEBUG: [main] [512ms] AltServicesRegistry(2) looking up alt-service for: https://localhost:61911
DEBUG: [main] [512ms] Http3ClientImpl(HttpClientImpl(2)) HttpQuicConnection.getHttpQuicConnection: No ALT-SVC for localhost:61911
DEBUG: [main] [513ms] Http3ClientImpl(HttpClientImpl(2)) HttpQuicConnection.getHttpQuicConnection: creating QuicConnection for: https://localhost:61911/repo/file.txt
DEBUG: [main] [520ms] QuicClient(HttpClientImpl(2)) Adding new endpoint: QuicEndpoint(HttpClientImpl(2)-0)
DEBUG: [main] [521ms] QuicSelector(HttpClientImpl(2)) created
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [522ms] QuicSelector(HttpClientImpl(2)) started
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [522ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: not scheduled (Deadline.MAX)no event scheduled
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [522ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:0 (+0), waited: 0
DEBUG: [main] [525ms] QuicEndpoint(HttpClientImpl(2)-0) created for sun.nio.ch.DatagramChannelImpl@eadb475
DEBUG: [main] [527ms] QuicSelector(HttpClientImpl(2)) attaching QuicEndpoint(HttpClientImpl(2)-0)
DEBUG: [main] [527ms] QuicClient(HttpClientImpl(2)) endpoint registered with selector
DEBUG: [QuicSelector(HttpClientImpl(2))-vt-worker-1] [527ms] QuicEndpoint(HttpClientImpl(2)-0) receiving with buffer(pos=0, limit=65527)
DEBUG: [main] [546ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Quic Connection Created
DEBUG: [main] [546ms] Http3ClientImpl(HttpClientImpl(2)) HttpQuicConnection.getHttpQuicConnection: QuicConnection: QuicClientConnection(quic:1:[h3]:localhost/127.0.0.1:61911)
DEBUG: [main] [548ms] Http3ClientImpl(HttpClientImpl(2)) Http3Connection.createAsync: Got HttpQuicConnection: HttpQuicConnection(HttpClientImpl(2), QuicClientConnection(1))
DEBUG: [main] [549ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Arming quic initial timer for 29 seconds
DEBUG: [main] [549ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d will be rescheduled
DEBUG: [main] [549ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [552ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 29998ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [552ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:1 (+0), waited: 27
DEBUG: [main] [555ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) QuicClientConnection(1): connectionId: 6be14ed9b7d911727394c793fdfc79, QuicEndpoint(HttpClientImpl(2)-0): QuicEndpoint(HttpClientImpl(2)-0) - /[0:0:0:0:0:0:0:0]:54712
DEBUG: [main] [560ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) local transport params: Quic Transport Params[max_idle_timeout=30000, max_udp_payload_size=65527, initial_max_data=15728640, initial_max_stream_data_bidi_local=6291456, initial_max_stream_data_bidi_remote=0, initial_max_stream_data_uni=6291456, initial_max_streams_bidi=0, initial_max_streams_uni=100, active_connection_id_limit=2, initial_source_connection_id="6be14ed9b7d911727394c793fdfc79", version_information="00000001000000016b3343cf", ]
DEBUG: [main] [561ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) idle connection timeout updated to 30000 milli seconds
DEBUG: [main] [561ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) continueHandshake: state: NEED_SEND_CRYPTO
DEBUG: [main] [640ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) continueHandshake: buffered 363 bytes in INITIAL keyspace
DEBUG: [main] [640ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) continueHandshake: state: NEED_RECV_CRYPTO
DEBUG: [main] [640ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) continueHandshake: nothing to do (state: NEED_RECV_CRYPTO)
DEBUG: [HttpClient-2-Worker-0] [641ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [643ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [643ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-0] [643ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) reserved 6 byte in initial packet
DEBUG: [HttpClient-2-Worker-0] [643ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) ack frame size: 0
DEBUG: [HttpClient-2-Worker-0] [644ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) building initial packet: source=QuicClientConnectionId(length=15, token=1, hash=-1536727000), dest=PeerConnectionId(length:17)
DEBUG: [main] [644ms] HttpQuicConnection(HttpClientImpl(2), QuicClientConnection(1)) setting up quic connect timeout: PT30S
DEBUG: [HttpClient-2-Worker-0] [644ms] QuicPacketEncoder newInitialPacket: fullPN=0 ackedPN=-1
DEBUG: [HttpClient-2-Worker-0] [647ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) initial packet size is 1200, max is 1200
DEBUG: [HttpClient-2-Worker-0] [647ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) protecting initial quic hello packet for [h3](localhost/127.0.0.1:61911) - 1200 bytes
DEBUG: [main] [648ms] ExchangeImpl get: trying with HTTP/3 only
DEBUG: [main] [648ms] ExchangeImpl No HTTP/3 eyeball needed
DEBUG: [HttpClient-2-Worker-0] [652ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) encrypting packet into datagram INITIAL(pn:0, [Padding(774), CryptoFrame(offset=0, length=363)])
DEBUG: [HttpClient-2-Worker-0] [656ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=1, hash=-1536727000), dst=PeerConnectionId(length:17), version=1, packet=0, encodedPacket=[0], token=null, payload=QuicFrame(frames: [Padding(774), CryptoFrame(offset=0, length=363)], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-0] [660ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Pushing datagram([INITIAL(0)], 1200)
DEBUG: [HttpClient-2-Worker-0] [663ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Packet INITIAL(pn:0) is pending acknowledgement
DEBUG: [HttpClient-2-Worker-0] [663ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Updating last send time to Deadline(2026-07-06T16:47:22.153359167Z)
DEBUG: [HttpClient-2-Worker-0] [664ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-0] [664ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:23.152359167Z)
DEBUG: [HttpClient-2-Worker-0] [664ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 997 ms
DEBUG: [HttpClient-2-Worker-0] [664ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-0] [664ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [HttpClient-2-Worker-0] [664ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] retransmission task: rescheduled
DEBUG: [HttpClient-2-Worker-0] [664ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [664ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [665ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:23.152359167Z)
DEBUG: [HttpClient-2-Worker-0] [665ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [665ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 997 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [665ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Deadline refreshed: new deadline in 997ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [665ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 997ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [665ms] QuicSelector(HttpClientImpl(2)) wait(997) wakeups:2 (+0), waited: 112
DEBUG: [HttpClient-2-Worker-0] [665ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [665ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-0] [665ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-0] [666ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-0] [666ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-0] [666ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:23.152359167Z)
DEBUG: [HttpClient-2-Worker-0] [666ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 996 ms
DEBUG: [HttpClient-2-Worker-0] [666ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [666ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [667ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-0] [667ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-0] [667ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-0] [667ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-0] [667ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:23.152359167Z)
DEBUG: [HttpClient-2-Worker-0] [667ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 995 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 669ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 670ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:23.152359167Z)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 671ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in -8 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 671ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Deadline not refreshed: no change
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 672ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 rescheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 672ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 28884ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 674ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:2 (+0), waited: 999
DEBUG: [HttpClient-2-Worker-0] [1s 674ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [HttpClient-2-Worker-1] [1s 676ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-1] [1s 676ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-1] [1s 677ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-1] [1s 677ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-1] [1s 677ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: retransmit on PTO
DEBUG: [HttpClient-2-Worker-1] [1s 677ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Retransmit on PTO: looking for candidate
DEBUG: [HttpClient-2-Worker-1] [1s 704ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Retransmitting packet [type=INITIAL, pn=0, attempts:0]: OutgoingInitialPacket[pn=0, frames=[Padding(774), CryptoFrame(offset=0, length=363)]]
DEBUG: [HttpClient-2-Worker-1] [1s 706ms] QuicPacketEncoder newInitialPacket: fullPN=1 ackedPN=-1
DEBUG: [HttpClient-2-Worker-1] [1s 706ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) encrypting packet into datagram INITIAL(pn:1, [Padding(774), CryptoFrame(offset=0, length=363)])
DEBUG: [HttpClient-2-Worker-1] [1s 707ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=1, hash=-1536727000), dst=PeerConnectionId(length:17), version=1, packet=1, encodedPacket=[1], token=null, payload=QuicFrame(frames: [Padding(774), CryptoFrame(offset=0, length=363)], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-1] [1s 711ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Pushing datagram([INITIAL(1)], 1200)
DEBUG: [HttpClient-2-Worker-1] [1s 712ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] retransmitted packet INITIAL(0) as 1
DEBUG: [HttpClient-2-Worker-1] [1s 713ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Packet INITIAL(pn:1) previous INITIAL(pn:0) is pending acknowledgement
DEBUG: [HttpClient-2-Worker-1] [1s 713ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Updating last send time to Deadline(2026-07-06T16:47:23.202773167Z)
DEBUG: [HttpClient-2-Worker-1] [1s 713ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-1] [1s 713ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-1] [1s 714ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-1] [1s 714ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: INITIAL increase backoff to 2
DEBUG: [HttpClient-2-Worker-1] [1s 714ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-1] [1s 715ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-1] [1s 736ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:25.200773167Z)
DEBUG: [HttpClient-2-Worker-1] [1s 736ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 1974 ms
DEBUG: [HttpClient-2-Worker-1] [1s 736ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-1] [1s 736ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 736ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 736ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:25.200773167Z)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 736ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 1974 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 737ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Deadline refreshed: new deadline in 1973ms (diff: 2048ms)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 737ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 1974ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [1s 737ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:3 (+0), waited: 61
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 240ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 471ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 242ms] QuicSelector(HttpClientImpl(2)) wait(470) wakeups:3 (+0), waited: 1502
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 715ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 scheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 716ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 26834ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [HttpClient-2-Worker-1] [3s 716ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [HttpClient-2-Worker-0] [3s 717ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [3s 717ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [3s 717ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-0] [3s 717ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-0] [3s 717ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: retransmit on PTO
DEBUG: [HttpClient-2-Worker-0] [3s 717ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Retransmit on PTO: looking for candidate
DEBUG: [HttpClient-2-Worker-0] [3s 718ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Retransmitting packet [type=INITIAL, pn=1, attempts:1]: OutgoingInitialPacket[pn=1, frames=[Padding(774), CryptoFrame(offset=0, length=363)]]
DEBUG: [HttpClient-2-Worker-0] [3s 719ms] QuicPacketEncoder newInitialPacket: fullPN=2 ackedPN=-1
DEBUG: [HttpClient-2-Worker-0] [3s 719ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) encrypting packet into datagram INITIAL(pn:2, [Padding(774), CryptoFrame(offset=0, length=363)])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 716ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:3 (+0), waited: 472
DEBUG: [HttpClient-2-Worker-0] [3s 720ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=1, hash=-1536727000), dst=PeerConnectionId(length:17), version=1, packet=2, encodedPacket=[2], token=null, payload=QuicFrame(frames: [Padding(774), CryptoFrame(offset=0, length=363)], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-0] [3s 730ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Pushing datagram([INITIAL(2)], 1200)
DEBUG: [HttpClient-2-Worker-0] [3s 731ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] retransmitted packet INITIAL(1) as 2
DEBUG: [HttpClient-2-Worker-0] [3s 731ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Packet INITIAL(pn:2) previous INITIAL(pn:1) is pending acknowledgement
DEBUG: [HttpClient-2-Worker-0] [3s 731ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Updating last send time to Deadline(2026-07-06T16:47:25.221028625Z)
DEBUG: [HttpClient-2-Worker-0] [3s 732ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-0] [3s 732ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [3s 733ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [3s 733ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: INITIAL increase backoff to 4
DEBUG: [HttpClient-2-Worker-0] [3s 733ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-0] [3s 733ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-0] [3s 733ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:29.217028625Z)
DEBUG: [HttpClient-2-Worker-0] [3s 734ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 3993 ms
DEBUG: [HttpClient-2-Worker-0] [3s 735ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-0] [3s 735ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 736ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 737ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:29.217028625Z)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 740ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 3987 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 740ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Deadline refreshed: new deadline in 3987ms (diff: 4016ms)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 740ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 3991ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [3s 740ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:4 (+0), waited: 15
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [5s 245ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 2481ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [5s 246ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:4 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [6s 752ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 975ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [6s 752ms] QuicSelector(HttpClientImpl(2)) wait(975) wakeups:4 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [7s 733ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 scheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [7s 733ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 22816ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [HttpClient-2-Worker-0] [7s 734ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [7s 734ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:4 (+0), waited: 980
DEBUG: [HttpClient-2-Worker-1] [7s 734ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-1] [7s 734ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-1] [7s 735ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-1] [7s 735ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-1] [7s 735ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: retransmit on PTO
DEBUG: [HttpClient-2-Worker-1] [7s 735ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Retransmit on PTO: looking for candidate
DEBUG: [HttpClient-2-Worker-1] [7s 735ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Retransmitting packet [type=INITIAL, pn=2, attempts:2]: OutgoingInitialPacket[pn=2, frames=[Padding(774), CryptoFrame(offset=0, length=363)]]
DEBUG: [HttpClient-2-Worker-1] [7s 736ms] QuicPacketEncoder newInitialPacket: fullPN=3 ackedPN=-1
DEBUG: [HttpClient-2-Worker-1] [7s 739ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) encrypting packet into datagram INITIAL(pn:3, [Padding(774), CryptoFrame(offset=0, length=363)])
DEBUG: [HttpClient-2-Worker-1] [7s 742ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=1, hash=-1536727000), dst=PeerConnectionId(length:17), version=1, packet=3, encodedPacket=[3], token=null, payload=QuicFrame(frames: [Padding(774), CryptoFrame(offset=0, length=363)], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-1] [7s 749ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Pushing datagram([INITIAL(3)], 1200)
DEBUG: [HttpClient-2-Worker-1] [7s 750ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] retransmitted packet INITIAL(2) as 3
DEBUG: [HttpClient-2-Worker-1] [7s 751ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Packet INITIAL(pn:3) previous INITIAL(pn:2) is pending acknowledgement
DEBUG: [HttpClient-2-Worker-1] [7s 751ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Updating last send time to Deadline(2026-07-06T16:47:29.240899584Z)
DEBUG: [HttpClient-2-Worker-1] [7s 751ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-1] [7s 753ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-1] [7s 753ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-1] [7s 755ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: INITIAL increase backoff to 8
DEBUG: [HttpClient-2-Worker-1] [7s 755ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-1] [7s 755ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-1] [7s 755ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:37.232899584Z)
DEBUG: [HttpClient-2-Worker-1] [7s 756ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 7987 ms
DEBUG: [HttpClient-2-Worker-1] [7s 756ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-1] [7s 756ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [7s 756ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [7s 756ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:37.232899584Z)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [7s 757ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 7985 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [7s 757ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Deadline refreshed: new deadline in 7985ms (diff: 8015ms)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [7s 757ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 7986ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [7s 758ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 21
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [9s 263ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 6479ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [9s 264ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [10s 768ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 4974ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [10s 769ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1503
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [12s 275ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 3467ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [12s 275ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [13s 780ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 1962ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [13s 780ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [15s 286ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 456ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [15s 287ms] QuicSelector(HttpClientImpl(2)) wait(456) wakeups:5 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [15s 750ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 scheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [15s 750ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 14800ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [HttpClient-2-Worker-1] [15s 751ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [15s 751ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 461
DEBUG: [HttpClient-2-Worker-0] [15s 751ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [15s 751ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [15s 752ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-0] [15s 752ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-0] [15s 752ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: retransmit on PTO
DEBUG: [HttpClient-2-Worker-0] [15s 752ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Retransmit on PTO: looking for candidate
DEBUG: [HttpClient-2-Worker-0] [15s 755ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Retransmitting packet [type=INITIAL, pn=3, attempts:3]: OutgoingInitialPacket[pn=3, frames=[Padding(774), CryptoFrame(offset=0, length=363)]]
DEBUG: [HttpClient-2-Worker-0] [15s 755ms] QuicPacketEncoder newInitialPacket: fullPN=4 ackedPN=-1
DEBUG: [HttpClient-2-Worker-0] [15s 755ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) encrypting packet into datagram INITIAL(pn:4, [Padding(774), CryptoFrame(offset=0, length=363)])
DEBUG: [HttpClient-2-Worker-0] [15s 756ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=1, hash=-1536727000), dst=PeerConnectionId(length:17), version=1, packet=4, encodedPacket=[4], token=null, payload=QuicFrame(frames: [Padding(774), CryptoFrame(offset=0, length=363)], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-0] [15s 759ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Pushing datagram([INITIAL(4)], 1200)
DEBUG: [HttpClient-2-Worker-0] [15s 759ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] retransmitted packet INITIAL(3) as 4
DEBUG: [HttpClient-2-Worker-0] [15s 759ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Packet INITIAL(pn:4) previous INITIAL(pn:3) is pending acknowledgement
DEBUG: [HttpClient-2-Worker-0] [15s 759ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Updating last send time to Deadline(2026-07-06T16:47:37.249023417Z)
DEBUG: [HttpClient-2-Worker-0] [15s 759ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-0] [15s 759ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [15s 759ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [15s 760ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: INITIAL increase backoff to 16
DEBUG: [HttpClient-2-Worker-0] [15s 760ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-0] [15s 760ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-0] [15s 760ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:53.233023417Z)
DEBUG: [HttpClient-2-Worker-0] [15s 760ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 15982 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [17s 257ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [17s 258ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:53.233023417Z)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [17s 258ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] ptoDeadline in 14484 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [17s 259ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Deadline refreshed: new deadline in 14484ms (diff: 16000ms)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [17s 260ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 13292ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [17s 261ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [18s 768ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 11781ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [18s 770ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [20s 277ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 10272ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [20s 277ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1506
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [21s 784ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 8765ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [21s 785ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1506
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [23s 290ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 7258ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [23s 293ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [24s 795ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 5753ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [24s 796ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1500
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [26s 302ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 4246ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [26s 303ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [27s 809ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 2740ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [27s 809ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:5 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [29s 314ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 1235ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@2bffa76d
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [29s 317ms] QuicSelector(HttpClientImpl(2)) wait(1233) wakeups:5 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 555ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 scheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 556ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 1188ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 556ms] QuicSelector(HttpClientImpl(2)) wait(1186) wakeups:5 (+0), waited: 1237
DEBUG: [HttpClient-2-Worker-0] [30s 556ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [HttpClient-2-Worker-1] [30s 567ms] ExchangeImpl handling HTTP/3 connection creation result
DEBUG: [HttpClient-2-Worker-1] [30s 567ms] ExchangeImpl HTTP/3 connection creation failed: java.net.ConnectException: No response from peer for 30 seconds
DEBUG: [HttpClient-2-Worker-1] [30s 568ms] Exchange checkFor407: no response - java.net.ConnectException: No response from peer for 30 seconds
DEBUG: [HttpClient-2-Worker-0] [30s 571ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) idle timeout manager shutdown
DEBUG: [HttpClient-2-Worker-0] [30s 573ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) entering closing state, code 0xc - jdk.internal.net.quic.QuicTransportException: No response from peer for 30 seconds
DEBUG: [HttpClient-2-Worker-0] [30s 573ms] QuicPacketEncoder newInitialPacket: fullPN=5 ackedPN=-1
DEBUG: [HttpClient-2-Worker-0] [30s 576ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) encrypting packet into datagram INITIAL(pn:5, [Padding(1101), ConnectionCloseFrame[type=0x1c, errorCode=0xc, errorFrameType=0x0, reason=No response from peer for 30 seconds]])
DEBUG: [HttpClient-2-Worker-0] [30s 576ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=1, hash=-1536727000), dst=PeerConnectionId(length:17), version=1, packet=5, encodedPacket=[5], token=null, payload=QuicFrame(frames: [Padding(1101), ConnectionCloseFrame[type=0x1c, errorCode=0xc, errorFrameType=0x0, reason=No response from peer for 30 seconds]], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-0] [30s 578ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) Pushing datagram([INITIAL(5)], 1200)
DEBUG: [HttpClient-2-Worker-0] [30s 578ms] QuicEndpoint(HttpClientImpl(2)-0) Pushing closing datagram for QuicClientConnection(1)
DEBUG: [HttpClient-2-Worker-0] [30s 582ms] QuicEndpoint(HttpClientImpl(2)-0) remapping QuicClientConnectionId(length=15, token=1, hash=-1536727000) to ClosingConnection
DEBUG: [HttpClient-2-Worker-0] [30s 582ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@4c854e11 offered
DEBUG: [HttpClient-2-Worker-0] [30s 582ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-0] [30s 583ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [30s 583ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [30s 583ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] closing packet space
DEBUG: [HttpClient-2-Worker-0] [30s 583ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-0] [30s 583ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 583ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] Deadline refreshed: no new deadline
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 583ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 2996ms for jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@4c854e11
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 583ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:6 (+0), waited: 26
DEBUG: [HttpClient-2-Worker-1] [30s 598ms] MultiExchange Retrying request: https://localhost:61911/repo/file.txt GET id: 1 attempt: 2 due to: java.net.ConnectException: No response from peer for 30 seconds
DEBUG: [HttpClient-2-Worker-1] [30s 598ms] Exchange establishing exchange for https://localhost:61911/repo/file.txt GET #1,
	 proxy=null
DEBUG: [HttpClient-2-Worker-1] [30s 598ms] ExchangeImpl get: Trying to get HTTP/3 connection; config is HTTP_3_URI_ONLY
DEBUG: [HttpClient-2-Worker-1] [30s 598ms] ExchangeImpl get: no HTTP/3 pooled connection found
DEBUG: [HttpClient-2-Worker-1] [30s 598ms] Http3ClientImpl(HttpClientImpl(2)) lookup found null for https://localhost:61911/repo/file.txt GET
DEBUG: [HttpClient-2-Worker-1] [30s 598ms] AltServicesRegistry(2) looking up alt-service for: https://localhost:61911
DEBUG: [HttpClient-2-Worker-1] [30s 599ms] Http3ClientImpl(HttpClientImpl(2)) Creating connection for Exchange https://localhost:61911/repo/file.txt GET #1
DEBUG: [HttpClient-2-Worker-1] [30s 601ms] HttpConnection Attempting to get an HTTP/3 connection
DEBUG: [HttpClient-2-Worker-1] [30s 601ms] Http3ClientImpl(HttpClientImpl(2)) Checking ALT-SVC regardless of H3_DISCOVERY settings
DEBUG: [HttpClient-2-Worker-1] [30s 601ms] AltServicesRegistry(2) looking up alt-service for: https://localhost:61911
DEBUG: [HttpClient-2-Worker-1] [30s 601ms] Http3ClientImpl(HttpClientImpl(2)) HttpQuicConnection.getHttpQuicConnection: No ALT-SVC for localhost:61911
DEBUG: [HttpClient-2-Worker-1] [30s 601ms] Http3ClientImpl(HttpClientImpl(2)) HttpQuicConnection.getHttpQuicConnection: creating QuicConnection for: https://localhost:61911/repo/file.txt
DEBUG: [HttpClient-2-Worker-1] [30s 604ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Quic Connection Created
DEBUG: [HttpClient-2-Worker-1] [30s 604ms] Http3ClientImpl(HttpClientImpl(2)) HttpQuicConnection.getHttpQuicConnection: QuicConnection: QuicClientConnection(quic:2:[h3]:localhost/127.0.0.1:61911)
DEBUG: [HttpClient-2-Worker-1] [30s 604ms] Http3ClientImpl(HttpClientImpl(2)) Http3Connection.createAsync: Got HttpQuicConnection: HttpQuicConnection(HttpClientImpl(2), QuicClientConnection(2))
DEBUG: [HttpClient-2-Worker-1] [30s 604ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Arming quic initial timer for 29 seconds
DEBUG: [HttpClient-2-Worker-1] [30s 604ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) QuicClientConnection(2): connectionId: 6be2df7dfac40331dafff1cbbac38e, QuicEndpoint(HttpClientImpl(2)-0): QuicEndpoint(HttpClientImpl(2)-0) - /[0:0:0:0:0:0:0:0]:54712
DEBUG: [HttpClient-2-Worker-1] [30s 607ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) local transport params: Quic Transport Params[max_idle_timeout=30000, max_udp_payload_size=65527, initial_max_data=15728640, initial_max_stream_data_bidi_local=6291456, initial_max_stream_data_bidi_remote=0, initial_max_stream_data_uni=6291456, initial_max_streams_bidi=0, initial_max_streams_uni=100, active_connection_id_limit=2, initial_source_connection_id="6be2df7dfac40331dafff1cbbac38e", version_information="00000001000000016b3343cf", ]
DEBUG: [HttpClient-2-Worker-1] [30s 607ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) idle connection timeout updated to 30000 milli seconds
DEBUG: [HttpClient-2-Worker-1] [30s 607ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) continueHandshake: state: NEED_SEND_CRYPTO
DEBUG: [HttpClient-2-Worker-1] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) continueHandshake: buffered 363 bytes in INITIAL keyspace
DEBUG: [HttpClient-2-Worker-1] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) continueHandshake: state: NEED_RECV_CRYPTO
DEBUG: [HttpClient-2-Worker-1] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) continueHandshake: nothing to do (state: NEED_RECV_CRYPTO)
DEBUG: [HttpClient-2-Worker-2] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-1] [30s 626ms] HttpQuicConnection(HttpClientImpl(2), QuicClientConnection(2)) setting up quic connect timeout: PT30S
DEBUG: [HttpClient-2-Worker-2] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-2] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-1] [30s 626ms] ExchangeImpl No HTTP/3 eyeball needed
DEBUG: [HttpClient-2-Worker-2] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) reserved 6 byte in initial packet
DEBUG: [HttpClient-2-Worker-2] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) ack frame size: 0
DEBUG: [HttpClient-2-Worker-2] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) building initial packet: source=QuicClientConnectionId(length=15, token=2, hash=-1495440648), dest=PeerConnectionId(length:17)
DEBUG: [HttpClient-2-Worker-2] [30s 626ms] QuicPacketEncoder newInitialPacket: fullPN=0 ackedPN=-1
DEBUG: [HttpClient-2-Worker-2] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) initial packet size is 1200, max is 1200
DEBUG: [HttpClient-2-Worker-2] [30s 626ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) protecting initial quic hello packet for [h3](localhost/127.0.0.1:61911) - 1200 bytes
DEBUG: [HttpClient-2-Worker-2] [30s 627ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) encrypting packet into datagram INITIAL(pn:0, [Padding(774), CryptoFrame(offset=0, length=363)])
DEBUG: [HttpClient-2-Worker-2] [30s 627ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=2, hash=-1495440648), dst=PeerConnectionId(length:17), version=1, packet=0, encodedPacket=[0], token=null, payload=QuicFrame(frames: [Padding(774), CryptoFrame(offset=0, length=363)], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-2] [30s 627ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Pushing datagram([INITIAL(0)], 1200)
DEBUG: [HttpClient-2-Worker-2] [30s 627ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Packet INITIAL(pn:0) is pending acknowledgement
DEBUG: [HttpClient-2-Worker-2] [30s 627ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Updating last send time to Deadline(2026-07-06T16:47:52.117454875Z)
DEBUG: [HttpClient-2-Worker-2] [30s 628ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-2] [30s 628ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:53.116454875Z)
DEBUG: [HttpClient-2-Worker-2] [30s 628ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 998 ms
DEBUG: [HttpClient-2-Worker-2] [30s 628ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-2] [30s 628ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [HttpClient-2-Worker-2] [30s 628ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] retransmission task: rescheduled
DEBUG: [HttpClient-2-Worker-2] [30s 628ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-2] [30s 628ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 628ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 628ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:53.116454875Z)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 628ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 998 ms
DEBUG: [HttpClient-2-Worker-2] [30s 628ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 628ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Deadline refreshed: new deadline in 997ms
DEBUG: [HttpClient-2-Worker-2] [30s 628ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:53.116454875Z)
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 997 ms
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:53.116454875Z)
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 997 ms
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-2] [30s 629ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 628ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 998ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 630ms] QuicSelector(HttpClientImpl(2)) wait(996) wakeups:9 (+2), waited: 44
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 630ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 632ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:53.116454875Z)
DEBUG: [HttpClient-2-Worker-0] [30s 632ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] forgetting pending acks:  PendingAcknowledgement[packet=OutgoingInitialPacket[pn=4, frames=[Padding(774), CryptoFrame(offset=0, length=363)]], sent=Deadline(2026-07-06T16:47:37.249023417Z), packetNumber=4, largestAcknowledged=-1, previousNumbers=PreviousNumbers[number=3, largestAcknowledged=-1, previous=PreviousNumbers[number=2, largestAcknowledged=-1, previous=PreviousNumbers[number=1, largestAcknowledged=-1, previous=PreviousNumbers[number=0, largestAcknowledged=-1, previous=null]]]]]
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 632ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 994 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 632ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Deadline not refreshed: no change
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 633ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 995ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 633ms] QuicSelector(HttpClientImpl(2)) wait(993) wakeups:9 (+0), waited: 0
DEBUG: [HttpClient-2-Worker-0] [30s 633ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[INITIAL] discarding TLS keys
DEBUG: [HttpClient-2-Worker-0] [30s 633ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[HANDSHAKE] closing packet space
DEBUG: [HttpClient-2-Worker-0] [30s 634ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[HANDSHAKE]) will be rescheduled
DEBUG: [HttpClient-2-Worker-0] [30s 634ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [HttpClient-2-Worker-0] [30s 634ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[HANDSHAKE] discarding TLS keys
DEBUG: [HttpClient-2-Worker-0] [30s 635ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[APPLICATION] closing packet space
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 634ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[HANDSHAKE] Deadline not refreshed: no change
DEBUG: [HttpClient-2-Worker-0] [30s 636ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[APPLICATION]) will be rescheduled
DEBUG: [HttpClient-2-Worker-0] [30s 636ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [HttpClient-2-Worker-0] [30s 637ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[APPLICATION] discarding TLS keys
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 636ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 991ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 637ms] QuicSelector(HttpClientImpl(2)) wait(989) wakeups:11 (+1), waited: 1
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 637ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1))[APPLICATION] Deadline not refreshed: no change
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 637ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 989ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [HttpClient-2-Worker-0] [30s 637ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(1)) connection has now transitioned to closing state
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [30s 637ms] QuicSelector(HttpClientImpl(2)) wait(989) wakeups:11 (+0), waited: 0
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [31s 630ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 scheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [31s 630ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 1949ms for jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@4c854e11
DEBUG: [HttpClient-2-Worker-0] [31s 631ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [31s 631ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:11 (+0), waited: 992
DEBUG: [HttpClient-2-Worker-2] [31s 631ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-2] [31s 631ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-2] [31s 631ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-2] [31s 631ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-2] [31s 631ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: retransmit on PTO
DEBUG: [HttpClient-2-Worker-2] [31s 631ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Retransmit on PTO: looking for candidate
DEBUG: [HttpClient-2-Worker-2] [31s 631ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Retransmitting packet [type=INITIAL, pn=0, attempts:0]: OutgoingInitialPacket[pn=0, frames=[Padding(774), CryptoFrame(offset=0, length=363)]]
DEBUG: [HttpClient-2-Worker-2] [31s 632ms] QuicPacketEncoder newInitialPacket: fullPN=1 ackedPN=-1
DEBUG: [HttpClient-2-Worker-2] [31s 632ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) encrypting packet into datagram INITIAL(pn:1, [Padding(774), CryptoFrame(offset=0, length=363)])
DEBUG: [HttpClient-2-Worker-2] [31s 632ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=2, hash=-1495440648), dst=PeerConnectionId(length:17), version=1, packet=1, encodedPacket=[1], token=null, payload=QuicFrame(frames: [Padding(774), CryptoFrame(offset=0, length=363)], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-2] [31s 633ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Pushing datagram([INITIAL(1)], 1200)
DEBUG: [HttpClient-2-Worker-2] [31s 636ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] retransmitted packet INITIAL(0) as 1
DEBUG: [HttpClient-2-Worker-2] [31s 638ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Packet INITIAL(pn:1) previous INITIAL(pn:0) is pending acknowledgement
DEBUG: [HttpClient-2-Worker-2] [31s 638ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Updating last send time to Deadline(2026-07-06T16:47:53.126435625Z)
DEBUG: [HttpClient-2-Worker-2] [31s 639ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-2] [31s 640ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-2] [31s 640ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-2] [31s 640ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: INITIAL increase backoff to 2
DEBUG: [HttpClient-2-Worker-2] [31s 640ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-2] [31s 640ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-2] [31s 640ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:55.124435625Z)
DEBUG: [HttpClient-2-Worker-2] [31s 640ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 1994 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 135ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 135ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:55.124435625Z)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 136ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 498 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 136ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Deadline refreshed: new deadline in 498ms (diff: 2007ms)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 136ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 444ms for jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@4c854e11
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 136ms] QuicSelector(HttpClientImpl(2)) wait(443) wakeups:11 (+0), waited: 1503
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 585ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 scheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 587ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 49ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [HttpClient-2-Worker-2] [33s 587ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [HttpClient-2-Worker-2] [33s 588ms] QuicEndpoint(HttpClientImpl(2)-0) removing connection jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@4c854e11
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 588ms] QuicSelector(HttpClientImpl(2)) wait(47) wakeups:11 (+0), waited: 448
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 640ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 scheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 641ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 26963ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [HttpClient-2-Worker-2] [33s 641ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 641ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:11 (+0), waited: 52
DEBUG: [HttpClient-2-Worker-0] [33s 642ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [33s 642ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [33s 642ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-0] [33s 642ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-0] [33s 643ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: retransmit on PTO
DEBUG: [HttpClient-2-Worker-0] [33s 643ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Retransmit on PTO: looking for candidate
DEBUG: [HttpClient-2-Worker-0] [33s 643ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Retransmitting packet [type=INITIAL, pn=1, attempts:1]: OutgoingInitialPacket[pn=1, frames=[Padding(774), CryptoFrame(offset=0, length=363)]]
DEBUG: [HttpClient-2-Worker-0] [33s 643ms] QuicPacketEncoder newInitialPacket: fullPN=2 ackedPN=-1
DEBUG: [HttpClient-2-Worker-0] [33s 643ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) encrypting packet into datagram INITIAL(pn:2, [Padding(774), CryptoFrame(offset=0, length=363)])
DEBUG: [HttpClient-2-Worker-0] [33s 644ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=2, hash=-1495440648), dst=PeerConnectionId(length:17), version=1, packet=2, encodedPacket=[2], token=null, payload=QuicFrame(frames: [Padding(774), CryptoFrame(offset=0, length=363)], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-0] [33s 647ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Pushing datagram([INITIAL(2)], 1200)
DEBUG: [HttpClient-2-Worker-0] [33s 647ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] retransmitted packet INITIAL(1) as 2
DEBUG: [HttpClient-2-Worker-0] [33s 647ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Packet INITIAL(pn:2) previous INITIAL(pn:1) is pending acknowledgement
DEBUG: [HttpClient-2-Worker-0] [33s 647ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Updating last send time to Deadline(2026-07-06T16:47:55.137254250Z)
DEBUG: [HttpClient-2-Worker-0] [33s 647ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-0] [33s 647ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [33s 647ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [33s 647ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: INITIAL increase backoff to 4
DEBUG: [HttpClient-2-Worker-0] [33s 647ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-0] [33s 647ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-0] [33s 648ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:59.133254250Z)
DEBUG: [HttpClient-2-Worker-0] [33s 648ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 3995 ms
DEBUG: [HttpClient-2-Worker-0] [33s 648ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-0] [33s 648ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 648ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 648ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:47:59.133254250Z)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 649ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 3995 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 650ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Deadline refreshed: new deadline in 3994ms (diff: 4008ms)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 650ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 3995ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [33s 650ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:12 (+0), waited: 5
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [35s 154ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 2488ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [35s 155ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:12 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [36s 660ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 983ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [36s 660ms] QuicSelector(HttpClientImpl(2)) wait(983) wakeups:12 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [37s 649ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 scheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [37s 649ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 22954ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [HttpClient-2-Worker-0] [37s 650ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [HttpClient-2-Worker-2] [37s 650ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [37s 650ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:12 (+0), waited: 988
DEBUG: [HttpClient-2-Worker-2] [37s 650ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-2] [37s 650ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-2] [37s 650ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-2] [37s 650ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: retransmit on PTO
DEBUG: [HttpClient-2-Worker-2] [37s 650ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Retransmit on PTO: looking for candidate
DEBUG: [HttpClient-2-Worker-2] [37s 650ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Retransmitting packet [type=INITIAL, pn=2, attempts:2]: OutgoingInitialPacket[pn=2, frames=[Padding(774), CryptoFrame(offset=0, length=363)]]
DEBUG: [HttpClient-2-Worker-2] [37s 650ms] QuicPacketEncoder newInitialPacket: fullPN=3 ackedPN=-1
DEBUG: [HttpClient-2-Worker-2] [37s 651ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) encrypting packet into datagram INITIAL(pn:3, [Padding(774), CryptoFrame(offset=0, length=363)])
DEBUG: [HttpClient-2-Worker-2] [37s 651ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=2, hash=-1495440648), dst=PeerConnectionId(length:17), version=1, packet=3, encodedPacket=[3], token=null, payload=QuicFrame(frames: [Padding(774), CryptoFrame(offset=0, length=363)], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-2] [37s 652ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Pushing datagram([INITIAL(3)], 1200)
DEBUG: [HttpClient-2-Worker-2] [37s 652ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] retransmitted packet INITIAL(2) as 3
DEBUG: [HttpClient-2-Worker-2] [37s 652ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Packet INITIAL(pn:3) previous INITIAL(pn:2) is pending acknowledgement
DEBUG: [HttpClient-2-Worker-2] [37s 652ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Updating last send time to Deadline(2026-07-06T16:47:59.142173584Z)
DEBUG: [HttpClient-2-Worker-2] [37s 652ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-2] [37s 652ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-2] [37s 652ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-2] [37s 653ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: INITIAL increase backoff to 8
DEBUG: [HttpClient-2-Worker-2] [37s 653ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-2] [37s 653ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-2] [37s 653ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:48:07.134173584Z)
DEBUG: [HttpClient-2-Worker-2] [37s 653ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 7991 ms
DEBUG: [HttpClient-2-Worker-2] [37s 653ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-2] [37s 653ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [37s 653ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [37s 654ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:48:07.134173584Z)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [37s 654ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 7989 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [37s 655ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Deadline refreshed: new deadline in 7989ms (diff: 8000ms)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [37s 655ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 7990ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [37s 656ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 3
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [39s 158ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 6486ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [39s 160ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1501
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [40s 665ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 4978ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [40s 666ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [42s 172ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 3472ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [42s 173ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [43s 678ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 1966ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [43s 678ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [45s 183ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 461ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [45s 184ms] QuicSelector(HttpClientImpl(2)) wait(460) wakeups:13 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [45s 652ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 scheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [45s 652ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 14952ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [45s 652ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 466
DEBUG: [HttpClient-2-Worker-2] [45s 653ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [HttpClient-2-Worker-0] [45s 653ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [45s 654ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] PacketTransmissionTask::handle
DEBUG: [HttpClient-2-Worker-0] [45s 654ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: sending data...
DEBUG: [HttpClient-2-Worker-0] [45s 654ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: no more data to send
DEBUG: [HttpClient-2-Worker-0] [45s 654ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: retransmit on PTO
DEBUG: [HttpClient-2-Worker-0] [45s 654ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Retransmit on PTO: looking for candidate
DEBUG: [HttpClient-2-Worker-0] [45s 654ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Retransmitting packet [type=INITIAL, pn=3, attempts:3]: OutgoingInitialPacket[pn=3, frames=[Padding(774), CryptoFrame(offset=0, length=363)]]
DEBUG: [HttpClient-2-Worker-0] [45s 655ms] QuicPacketEncoder newInitialPacket: fullPN=4 ackedPN=-1
DEBUG: [HttpClient-2-Worker-0] [45s 655ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) encrypting packet into datagram INITIAL(pn:4, [Padding(774), CryptoFrame(offset=0, length=363)])
DEBUG: [HttpClient-2-Worker-0] [45s 655ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=2, hash=-1495440648), dst=PeerConnectionId(length:17), version=1, packet=4, encodedPacket=[4], token=null, payload=QuicFrame(frames: [Padding(774), CryptoFrame(offset=0, length=363)], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-0] [45s 655ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Pushing datagram([INITIAL(4)], 1200)
DEBUG: [HttpClient-2-Worker-0] [45s 656ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] retransmitted packet INITIAL(3) as 4
DEBUG: [HttpClient-2-Worker-0] [45s 656ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Packet INITIAL(pn:4) previous INITIAL(pn:3) is pending acknowledgement
DEBUG: [HttpClient-2-Worker-0] [45s 657ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Updating last send time to Deadline(2026-07-06T16:48:07.146605625Z)
DEBUG: [HttpClient-2-Worker-0] [45s 657ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-0] [45s 658ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [45s 658ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [45s 658ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: INITIAL increase backoff to 16
DEBUG: [HttpClient-2-Worker-0] [45s 658ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] handle: refreshing deadline
DEBUG: [HttpClient-2-Worker-0] [45s 658ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [HttpClient-2-Worker-0] [45s 658ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:48:23.130605625Z)
DEBUG: [HttpClient-2-Worker-0] [45s 658ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 15982 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [47s 156ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] lossDeadline is: null
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [47s 157ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline is: Deadline(2026-07-06T16:48:23.130605625Z)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [47s 157ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] ptoDeadline in 14483 ms
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [47s 157ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Deadline refreshed: new deadline in 14483ms (diff: 15996ms)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [47s 157ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 13447ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [47s 157ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1503
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [48s 664ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 11940ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [48s 664ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [50s 170ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 10433ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [50s 170ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [51s 675ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 8928ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [51s 676ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [53s 180ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 7424ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [53s 180ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1503
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [54s 685ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 5918ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [54s 686ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [56s 191ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 4412ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [56s 191ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1504
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [57s 699ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 2906ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [57s 700ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:13 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [59s 209ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 1397ms for jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer@28bf9b26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [59s 209ms] QuicSelector(HttpClientImpl(2)) wait(1394) wakeups:13 (+0), waited: 1505
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 609ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 scheduled tasks are due
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 609ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 1032ms for PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL])
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 609ms] QuicSelector(HttpClientImpl(2)) wait(1030) wakeups:13 (+0), waited: 1398
DEBUG: [HttpClient-2-Worker-0] [60s 609ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [HttpClient-2-Worker-0] [60s 610ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) idle timeout manager shutdown
DEBUG: [HttpClient-2-Worker-2] [60s 610ms] ExchangeImpl handling HTTP/3 connection creation result
DEBUG: [HttpClient-2-Worker-0] [60s 610ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) entering closing state, code 0xc - jdk.internal.net.quic.QuicTransportException: No response from peer for 30 seconds
DEBUG: [HttpClient-2-Worker-2] [60s 610ms] ExchangeImpl HTTP/3 connection creation failed: java.net.ConnectException: No response from peer for 30 seconds
DEBUG: [HttpClient-2-Worker-2] [60s 611ms] Exchange checkFor407: no response - java.net.ConnectException: No response from peer for 30 seconds
DEBUG: [HttpClient-2-Worker-0] [60s 619ms] QuicPacketEncoder newInitialPacket: fullPN=5 ackedPN=-1
DEBUG: [HttpClient-2-Worker-0] [60s 625ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) encrypting packet into datagram INITIAL(pn:5, [Padding(1101), ConnectionCloseFrame[type=0x1c, errorCode=0xc, errorFrameType=0x0, reason=No response from peer for 30 seconds]])
DEBUG: [HttpClient-2-Worker-0] [60s 625ms] QuicPacketEncoder InitialPacket::encodePacket(ByteBuffer(0,1200), src=QuicClientConnectionId(length=15, token=2, hash=-1495440648), dst=PeerConnectionId(length:17), version=1, packet=5, encodedPacket=[5], token=null, payload=QuicFrame(frames: [Padding(1101), ConnectionCloseFrame[type=0x1c, errorCode=0xc, errorFrameType=0x0, reason=No response from peer for 30 seconds]], bytes: 1141), size=1200
DEBUG: [HttpClient-2-Worker-0] [60s 628ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) Pushing datagram([INITIAL(5)], 1200)
DEBUG: [HttpClient-2-Worker-0] [60s 628ms] QuicEndpoint(HttpClientImpl(2)-0) Pushing closing datagram for QuicClientConnection(2)
DEBUG: [HttpClient-2-Worker-0] [60s 629ms] QuicEndpoint(HttpClientImpl(2)-0) remapping QuicClientConnectionId(length=15, token=2, hash=-1495440648) to ClosingConnection
DEBUG: [HttpClient-2-Worker-0] [60s 629ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@27b7ec7f offered
DEBUG: [HttpClient-2-Worker-0] [60s 629ms] QuicEndpoint(HttpClientImpl(2)-0) attempting to send datagram [1200 bytes]
DEBUG: [HttpClient-2-Worker-0] [60s 630ms] QuicEndpoint(HttpClientImpl(2)-0) sending datagram(1200) to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-0] [60s 630ms] QuicEndpoint(HttpClientImpl(2)-0) sent 1200 bytes to localhost/127.0.0.1:61911
DEBUG: [HttpClient-2-Worker-2] [60s 630ms] MultiExchange request already attempted 2 times, won't be retried again https://localhost:61911/repo/file.txt GET 1 java.net.ConnectException: No response from peer for 30 seconds
java.net.ConnectException: No response from peer for 30 seconds
	at java.net.http/jdk.internal.net.http.quic.QuicConnectionImpl$MaxInitialTimer.handle(QuicConnectionImpl.java:502)
	at java.net.http/jdk.internal.net.http.quic.QuicTimerQueue.processDue(QuicTimerQueue.java:298)
	at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:182)
	at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
	at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1516)
DEBUG: [HttpClient-2-Worker-0] [60s 634ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] closing packet space
DEBUG: [HttpClient-2-Worker-0] [60s 635ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL]) will be rescheduled
DEBUG: [HttpClient-2-Worker-0] [60s 635ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [HttpClient-2-Worker-0] [60s 636ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] forgetting pending acks:  PendingAcknowledgement[packet=OutgoingInitialPacket[pn=4, frames=[Padding(774), CryptoFrame(offset=0, length=363)]], sent=Deadline(2026-07-06T16:48:07.146605625Z), packetNumber=4, largestAcknowledged=-1, previousNumbers=PreviousNumbers[number=3, largestAcknowledged=-1, previous=PreviousNumbers[number=2, largestAcknowledged=-1, previous=PreviousNumbers[number=1, largestAcknowledged=-1, previous=PreviousNumbers[number=0, largestAcknowledged=-1, previous=null]]]]]
DEBUG: [HttpClient-2-Worker-0] [60s 636ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] discarding TLS keys
DEBUG: [HttpClient-2-Worker-0] [60s 636ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[HANDSHAKE] closing packet space
DEBUG: [HttpClient-2-Worker-0] [60s 637ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[HANDSHAKE]) will be rescheduled
DEBUG: [HttpClient-2-Worker-0] [60s 638ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [HttpClient-2-Worker-0] [60s 638ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[HANDSHAKE] discarding TLS keys
DEBUG: [HttpClient-2-Worker-0] [60s 638ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[APPLICATION] closing packet space
DEBUG: [HttpClient-2-Worker-0] [60s 638ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event PacketTransmissionTask(QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[APPLICATION]) will be rescheduled
DEBUG: [HttpClient-2-Worker-0] [60s 638ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [HttpClient-2-Worker-0] [60s 638ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[APPLICATION] discarding TLS keys
DEBUG: [HttpClient-2-Worker-0] [60s 638ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2)) connection has now transitioned to closing state
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 638ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[INITIAL] Deadline refreshed: no new deadline
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 639ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 2990ms for jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@27b7ec7f
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 641ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:16 (+2), waited: 26
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 641ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[APPLICATION] Deadline not refreshed: no change
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 642ms] QuicConnection(HttpClientImpl(2), QuicClientConnection(2))[HANDSHAKE] Deadline not refreshed: no change
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 642ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: due in 2984ms for jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@27b7ec7f
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 642ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:16 (+0), waited: 0
DEBUG: [HttpClient-2-Worker-2] [60s 645ms] HttpClientImpl(2) ClientImpl (async) elapsed 60148 millis for GET to https://localhost:61911/repo/file.txt
DEBUG: [HttpClient-2-SelectorManager] [60s 761ms] Http2ClientImpl stopping
DEBUG: [HttpClient-2-SelectorManager] [60s 770ms] QuicEndpoint(HttpClientImpl(2)-0) closing 1 connections
DEBUG: [HttpClient-2-SelectorManager] [60s 773ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: event jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@27b7ec7f will be rescheduled
DEBUG: [HttpClient-2-SelectorManager] [60s 774ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [HttpClient-2-SelectorManager] [60s 779ms] QuicEndpoint(HttpClientImpl(2)-0) Closing channel sun.nio.ch.DatagramChannelImpl@eadb475 of endpoint QuicEndpoint(HttpClientImpl(2)-0)
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 780ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: 1 rescheduled tasks are due
DEBUG: [HttpClient-2-SelectorManager] [60s 780ms] QuicSelector(HttpClientImpl(2)) closing
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 780ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: newDeadline: not scheduled (Deadline.MAX)no event scheduled
DEBUG: [HttpClient-2-Worker-2] [60s 782ms] QuicSelector(HttpClientImpl(2)) QuicTimerQueue: processDue
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 783ms] QuicSelector(HttpClientImpl(2)) wait(1500) wakeups:17 (+0), waited: 132
DEBUG: [Thread(QuicSelector(HttpClientImpl(2)))] [60s 784ms] QuicSelector(HttpClientImpl(2)) exiting
DEBUG: [HttpClient-2-SelectorManager] [60s 783ms] QuicSelector(HttpClientImpl(2)) waking up selector
DEBUG: [HttpClient-2-Worker-2] [60s 783ms] QuicEndpoint(HttpClientImpl(2)-0) removing connection jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@27b7ec7f
DEBUG: [HttpClient-2-SelectorManager] [60s 788ms] HttpClientImpl(2) SelectorManager shutting down
DEBUG: [HttpClient-2-SelectorManager] [60s 790ms] Http2ClientImpl stopping

The same endpoint works fine with Jetty HTTP/3 client.

@kwin kwin force-pushed the feature/http3 branch 2 times, most recently from c2376c1 to 612993d Compare July 6, 2026 18:04
@kwin kwin force-pushed the feature/http3 branch from 612993d to 08109e9 Compare July 6, 2026 18:19
@vy

vy commented Jul 9, 2026

Copy link
Copy Markdown
Member

feature-http3-jdk-fix.patch — contributed by @dfuch and @jaikiran — fixes maven-resolver-test-http and makes maven-resolver-transport-jdk11 tests pass. In short,

  • Jetty's Quiche binding implementation were missing.
  • HttpClient was configured to use SSLContext.getDefault(), whereas Jetty was using a custom key/trust store. The approach in the patch might not be the right/conclusive one, but should be enough to put you in the right direction.

@kwin

kwin commented Jul 9, 2026

Copy link
Copy Markdown
Member Author

@vy Thanks a lot. I raised jetty/jetty.project#15385 because the Quiche binding missing currently is just silently discarded in Jetty. I meanwhile figured out how to properly connect with JRE HTTP Client to Jetty via HTTP/3. However I am still missing an insecure option (to completely skip the server's certificate check)

Clean up and regenerate key stores
Cleanup server method names
@kwin kwin force-pushed the feature/http3 branch 2 times, most recently from cf7c79d to 8aa84dd Compare July 9, 2026 12:09
@kwin kwin force-pushed the feature/http3 branch 2 times, most recently from 8daa9e2 to 59de191 Compare July 9, 2026 15:28
@kwin

kwin commented Jul 9, 2026

Copy link
Copy Markdown
Member Author

@cstamas I don't understand the unstable test JdkTransporterTest>HttpTransporterTest.testPut_SSL:1247 » HttpTransporter HTTP Status: 500 in Java 21. Seems some kind of race condition (reuse of connections?). Any idea here?

*
* @configurationSource {@link RepositorySystemSession#getConfigProperties()}
* @configurationType {@link ConfigurationProperties.HttpVersion}
* @configurationDefaultValue {@link #DEFAULT_HTTP_VERSION}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cstamas This constant cannot be extracted with

protected static Map<String, String> extractConstants(Path file) {
. Any idea how to fix this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants