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

grpc / grpc-java / #20413
89%

Build:
DEFAULT BRANCH: master
Ran 20 Aug 2026 05:16AM UTC
Jobs 1
Files 688
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

20 Aug 2026 05:04AM UTC coverage: 89.2% (+0.006%) from 89.194%
#20413

push

github

web-flow
xds: Prevent concurrent cancellations of data plane call in ExternalProcessorClientInterceptor (#12996)

If the ext-proc stream terminates with a non-OK status, the interceptor
cancels the downstream data plane call (on the executor thread).
Concurrently, the application thread may call cancel() on the returned
proxy call (e.g. for user cancellation or cleanup).

Since ClientCallImpl does not synchronize its cancelCalled field,
concurrent cancellations from these two threads resulted in a TSAN data
race (that was discussed in
https://github.com/grpc/grpc-java/pull/12975).

This commit introduces an AtomicBoolean downstreamCancelled in
DataPlaneClientCall to guard all downstream cancellations, ensuring that
only the first cancellation is forwarded to delayedCall/super.cancel().
This deduplicates and serializes cancellation handling from both the
application and the interceptor threads, preventing the data race.

38554 of 43222 relevant lines covered (89.2%)

0.89 hits per line

Coverage Regressions

Lines Coverage ∆ File
20
96.14
0.02% ../xds/src/main/java/io/grpc/xds/ExternalProcessorClientInterceptor.java
5
83.02
-9.43% ../core/src/main/java/io/grpc/internal/Http2Ping.java
2
90.63
-0.35% ../core/src/main/java/io/grpc/internal/DelayedClientCall.java
1
87.36
-0.22% ../inprocess/src/main/java/io/grpc/inprocess/InProcessTransport.java
1
87.88
-3.03% ../netty/src/main/java/io/grpc/netty/ClientTransportLifecycleManager.java
1
87.6
-0.83% ../rls/src/main/java/io/grpc/rls/LinkedHashLruCache.java
Jobs
ID Job ID Ran Files Coverage
1 #20413.1 20 Aug 2026 05:16AM UTC 688
89.2
Source Files on build #20413
  • Tree
  • List 688
  • Changed 10
  • Source Changed 0
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #20413
  • cf92f2d2 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