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

grpc / grpc-java / #20228
89%

Build:
DEFAULT BRANCH: master
Ran 27 Mar 2026 04:04PM UTC
Jobs 1
Files 630
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

27 Mar 2026 03:51PM UTC coverage: 88.715% (+0.01%) from 88.702%
#20228

push

github

web-flow
util: update AdvancedTlsX509KeyManager to support key alias for reloaded cert (#12686)

## Overview

Make the alias in `AdvancedTlsX509KeyManager` dynamic so it can be used
with Netty's `OpenSslCachingX509KeyManagerFactory` to update key
material after reload.

Fixes #12670
Fixes #12485

## Problem

When using `SslProvider.OPENSSL`, each TLS handshake must encode Java
key material into a native buffer consumed by OpenSSL, which can account
for ~8% of server CPU. Netty's `OpenSslCachingX509KeyManagerFactory`
avoids this by caching the encoded buffer keyed by alias — but the
previous implementation always returned `"default"`, so the factory
could never detect credential rotations and create a new cache entry on
cert reload.

## Details

- The alias is now set to `key-<N>` (e.g. `key-1`, `key-2`, ...) and
  incremented on every `updateIdentityCredentials` call, ensuring the
  same alias always maps to the same key material.
- One prior key value is kept to allow consistent handshaking during key
  changes.

35540 of 40061 relevant lines covered (88.71%)

0.89 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
2
88.04
-0.96% ../netty/src/main/java/io/grpc/netty/NettyServer.java
5
83.02
-9.43% ../core/src/main/java/io/grpc/internal/Http2Ping.java
16
81.32
7.71% ../util/src/main/java/io/grpc/util/AdvancedTlsX509KeyManager.java
Jobs
ID Job ID Ran Files Coverage
1 #20228.1 27 Mar 2026 04:04PM UTC 630
88.71
Source Files on build #20228
  • Tree
  • List 630
  • Changed 8
  • Source Changed 0
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #20228
  • b16da37c 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