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

grpc / grpc-java / #19717
89%

Build:
DEFAULT BRANCH: master
Ran 06 Mar 2025 06:42PM UTC
Jobs 1
Files 614
Run time 17min
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

06 Mar 2025 06:32PM UTC coverage: 88.525% (+0.03%) from 88.494%
#19717

push

github

web-flow
xds: Support filter state retention

This PR adds support filter state retention in Java. The mechanism
will be similar to the one described in [A83]
(https://github.com/grpc/proposal/blob/master/A83-xds-gcp-authn-filter.md#filter-call-credentials-cache)
for C-core, and will serve the same purpose. However, the
implementation details are very different due to the different nature
of xDS HTTP filter support in C-core and Java.

### Filter instance lifecycle
#### xDS gRPC clients
New filter instances are created per combination of:
1. `XdsNameResolver` instance,
2. Filter name+typeUrl as configured in 
   HttpConnectionManager (HCM) http_filters.

Existing client-side filter instances are shutdown:
- A single a filter instance is shutdown when an LDS update contains
  HCM that is missing filter configuration for name+typeUrl
  combination of this instance.
- All filter instances when watched LDS resource is missing from an
  LDS update.
- All filter instances name resolver shutdown.

#### xDS-enabled gRPC servers
New filter instances are created per combination of:
1. Server instance,
2. FilterChain name,
3. Filter name+typeUrl as configured in FilterChain's HCM.http_filters

Filter instances of Default Filter Chain is tracked separately per:
1. Server instance,
2. Filter name+typeUrl in default_filter_chain's HCM.http_filters.

Existing server-side filter instances are shutdown:
- A single a filter instance is shutdown when an LDS update contains
  FilterChain with HCM.http_filters that is missing configuration for
  filter name+typeUrl.
- All filter instances associated with the FilterChain when an LDS
  update no longer contains FilterChain's name.
- All filter instances when watched LDS resource is missing from an
  LDS update.
- All filter instances on server shutdown.

### Related
- Part 1: #11883

34577 of 39059 relevant lines covered (88.53%)

0.89 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
88.89
-0.41% ../core/src/main/java/io/grpc/internal/DelayedClientCall.java
2
88.04
-0.96% ../netty/src/main/java/io/grpc/netty/NettyServer.java
2
90.91
0.91% ../xds/src/main/java/io/grpc/xds/Filter.java
5
95.96
0.04% ../xds/src/main/java/io/grpc/xds/FilterChainMatchingProtocolNegotiators.java
6
77.08
-6.25% ../servlet/src/main/java/io/grpc/servlet/AsyncServletOutputStreamWriter.java
22
94.86
1.11% ../xds/src/main/java/io/grpc/xds/XdsServerWrapper.java
26
95.19
0.39% ../xds/src/main/java/io/grpc/xds/XdsNameResolver.java
31
85.08
0.14% ../xds/src/main/java/io/grpc/xds/XdsListenerResource.java
Jobs
ID Job ID Ran Files Coverage
1 #19717.1 06 Mar 2025 06:42PM UTC 614
88.53
Source Files on build #19717
  • Tree
  • List 614
  • Changed 12
  • Source Changed 0
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #19717
  • a6a041e4 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