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

grpc / grpc-java / #20485
89%

Build:
DEFAULT BRANCH: master
Ran 17 Sep 2026 05:35AM UTC
Jobs 1
Files 698
Run time 1min
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

17 Sep 2026 05:22AM UTC coverage: 89.313% (+0.009%) from 89.304%
#20485

push

github

jdcormie
binder: deliver, even in the case where a prefix-only txn arrives last

Inbound's queuedTransactionData holds message fragments from the peer
that haven't yet been assembled and delivered to the application.
Binder transactions are sent in index order and must contain at least
one of: a prefix, part/all of a message, and a suffix. When a
transaction with message data arrives before its predecessors (according
to index), Inbound's enqueueTransactionData() reserves slots for those
predecessors in queuedTransactionData. After each predecessor
transaction trickles in, enqueueTransactionData() checks whether it
completes the message, which can then be delivered. There's an edge
case, though, where a late-arrival transaction contains just the prefix
with no message data at all. In that case, Inbound remove()s the
queuedTransactionData slot it previously reserved and carries on without
considering that this prefix-only transaction might have completed the
first message! And if that was the final transaction in the stream,
Inbound will never call lookForCompleteMessage() again, leaving the
stream stuck forever with a complete but undelivered message.

39146 of 43830 relevant lines covered (89.31%)

0.89 hits per line

Coverage Regressions

Lines Coverage ∆ File
4
95.69
-0.4% ../xds/src/main/java/io/grpc/xds/ExternalProcessorClientInterceptor.java
2
81.05
-2.11% ../okhttp/src/main/java/io/grpc/okhttp/ExceptionHandlingFrameWriter.java
2
92.94
-0.28% ../okhttp/src/main/java/io/grpc/okhttp/OkHttpClientTransport.java
2
74.26
-0.99% ../servlet/src/main/java/io/grpc/servlet/AsyncServletOutputStreamWriter.java
1
87.88
-3.03% ../netty/src/main/java/io/grpc/netty/ClientTransportLifecycleManager.java
1
96.55
-0.57% ../xds/src/main/java/io/grpc/xds/client/LoadReportClient.java
Jobs
ID Job ID Ran Files Coverage
1 #20485.1 17 Sep 2026 05:35AM UTC 698
89.31
Source Files on build #20485
  • Tree
  • List 698
  • Changed 13
  • Source Changed 0
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #20485
  • 4865560d 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