Skip to content

Share one SslContext between the channels of a factory - #776

Merged
alex268 merged 2 commits into
ydb-platform:masterfrom
alex268:perf/cache-ssl-context
Oct 16, 2026
Merged

alex268 merged 2 commits into
ydb-platform:masterfrom
alex268:perf/cache-ssl-context

Conversation

@alex268

@alex268 alex268 commented Oct 16, 2026

Copy link
Copy Markdown
Member

Updated #763

NettyChannelFactory and ShadedNettyChannelFactory built a new SslContext for every TLS channel: the custom certificate was parsed again, or the trust managers were wrapped again, and a new (often native OpenSSL) context was allocated for each node channel, for every auth channel and for the discovery channel created every minute.

SslContext is immutable and thread-safe, so create it once per factory.

Igor Melnichenko and others added 2 commits October 11, 2026 01:13
NettyChannelFactory and ShadedNettyChannelFactory built a new SslContext
for every TLS channel: the custom certificate was parsed again, or the
trust managers were wrapped again, and a new (often native OpenSSL)
context was allocated for each node channel, for every auth channel and
for the discovery channel created every minute.

SslContext is immutable and thread-safe, so create it lazily once per
factory and reuse it. A failure to create it isn't cached and is still
reported on every channel creation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Oct 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.61%. Comparing base (d854009) to head (a240928).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #776      +/-   ##
============================================
+ Coverage     75.47%   75.61%   +0.14%     
- Complexity     3755     3763       +8     
============================================
  Files           396      396              
  Lines         16842    16845       +3     
  Branches       1780     1780              
============================================
+ Hits          12711    12737      +26     
+ Misses         3515     3492      -23     
  Partials        616      616              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@alex268
alex268 merged commit e7fe0ff into ydb-platform:master Oct 16, 2026
16 checks passed
@alex268
alex268 deleted the perf/cache-ssl-context branch October 16, 2026 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants