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

grpc / grpc-java / #19793
89%

Build:
DEFAULT BRANCH: master
Ran 27 Apr 2025 08:06PM UTC
Jobs 1
Files 615
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

23 Apr 2025 04:18PM UTC coverage: 88.641% (+0.003%) from 88.638%
#19793

push

github

web-flow
xds: XdsDepManager should ignore updates after shutdown

This prevents a NPE and subsequent channel panic when trying to build a
config (because there are no watchers, so waitingOnResource==false)
without any listener and route.
```
java.lang.NullPointerException: Cannot invoke "io.grpc.xds.XdsDependencyManager$RdsUpdateSupplier.getRdsUpdate()" because "routeSource" is null
    at io.grpc.xds.XdsDependencyManager.buildUpdate(XdsDependencyManager.java:295)
    at io.grpc.xds.XdsDependencyManager.maybePublishConfig(XdsDependencyManager.java:266)
    at io.grpc.xds.XdsDependencyManager$EdsWatcher.onChanged(XdsDependencyManager.java:899)
    at io.grpc.xds.XdsDependencyManager$EdsWatcher.onChanged(XdsDependencyManager.java:888)
    at io.grpc.xds.client.XdsClientImpl$ResourceSubscriber.notifyWatcher(XdsClientImpl.java:929)
    at io.grpc.xds.client.XdsClientImpl$ResourceSubscriber.lambda$onData$0(XdsClientImpl.java:837)
    at io.grpc.SynchronizationContext.drain(SynchronizationContext.java:96)
```

I think this fully-fixes the problem today, but not tomorrow.
subscribeToCluster() is racy as well, but not yet used.

This was noticed when idleTimeout was firing, with some other code
calling getState(true) to wake the channel back up. That may have made
this panic more visible than it would be otherwise, but that has not
been investigated.

b/412474567

34789 of 39247 relevant lines covered (88.64%)

0.89 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
96.55
-0.57% ../core/src/main/java/io/grpc/internal/DelayedClientTransport.java
1
93.33
0.95% ../xds/src/main/java/io/grpc/xds/client/ControlPlaneClient.java
2
88.89
-11.11% ../netty/src/main/java/io/grpc/netty/UdsNameResolver.java
6
78.13
-6.25% ../servlet/src/main/java/io/grpc/servlet/AsyncServletOutputStreamWriter.java
27
91.77
-0.02% ../xds/src/main/java/io/grpc/xds/XdsDependencyManager.java
Jobs
ID Job ID Ran Files Coverage
1 #19793.1 27 Apr 2025 08:06PM UTC 615
88.64
Source Files on build #19793
  • Tree
  • List 615
  • Changed 9
  • Source Changed 0
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #19793
  • 25199e9d on github
  • Prev Build on master
  • Next Build on master
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc