• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

grpc / grpc-java / #20499
89%

Build:
DEFAULT BRANCH: master
Ran 05 Oct 2026 10:51AM UTC
Jobs 1
Files 697
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Oct 2026 10:38AM UTC coverage: 89.356% (+0.03%) from 89.331%
#20499

push

github

web-flow
okhttp: Set socket read timeout during TLS handshake (#13081)

In `OkHttpClientTransport`, direct TLS connection setup calls
`OkHttpTlsUpgrader.upgrade(...)` without configuring a socket read
timeout (`setSoTimeout`). When a middlebox or unresponsive server
completes the TCP three-way handshake and acknowledges the TLS
`ClientHello` without sending a `ServerHello` or `RST`,
`sslSocket.startHandshake()` blocks indefinitely in socket read. Because
`this.socket` and `asyncSink` are only assigned after
`OkHttpTlsUpgrader.upgrade(...)` returns, channel shutdown cannot close
the underlying socket either, leaving the subchannel permanently stuck
in `CONNECTING`. Configure `sock.setSoTimeout(proxySocketTimeout)`
before `OkHttpTlsUpgrader.upgrade(...)` and reset it to `0` once the TLS
upgrade completes, matching the timeout handling in
`createHttpProxySocket`. Also close `sock` via
`GrpcUtil.closeQuietly(sock)` in `catch (Exception e)` so the socket is
not leaked when handshake setup fails before
`asyncSink.becomeConnected(...)` takes ownership.

39256 of 43932 relevant lines covered (89.36%)

0.89 hits per line

Coverage Regressions

Lines Coverage ∆ File
28
93.24
0.03% ../okhttp/src/main/java/io/grpc/okhttp/OkHttpClientTransport.java
3
74.14
-2.59% ../servlet/src/main/java/io/grpc/servlet/ServletServerStream.java
2
90.63
-0.69% ../core/src/main/java/io/grpc/internal/DelayedClientCall.java
1
93.83
-0.62% ../opentelemetry/src/main/java/io/grpc/opentelemetry/OpenTelemetryMetricSink.java
Jobs
ID Job ID Ran Files Coverage
1 #20499.1 05 Oct 2026 10:51AM UTC 697
89.36
Source Files on build #20499
  • Tree
  • List 697
  • Changed 12
  • Source Changed 0
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #20499
  • a74c3982 on github
  • Prev Build on master
  • Next Build on master
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc