Skip to content

IGNITE-29208 Preserve SSLEngine peer address in SSLContextWrapper - #13750

Open
anton-vinogradov wants to merge 3 commits into
apache:masterfrom
anton-vinogradov:ignite-29208
Open

anton-vinogradov wants to merge 3 commits into
apache:masterfrom
anton-vinogradov:ignite-29208

Conversation

@anton-vinogradov

@anton-vinogradov anton-vinogradov commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Fixes IGNITE-29208.

SSLContextWrapper.createSSLEngine(host, port) drops the supplied peer address. Forward it to the matching delegate overload while retaining the configured protocols and cipher suites.

This affects applications that obtain a context from SslContextFactory with custom protocols or cipher suites and create a client engine with a host and port. Losing that address prevents automatic SNI and peer-based session reuse, and breaks hostname verification when it is enabled. Ignite transports currently create engines without an address. Jetty supplies an address for a server engine, where this fix preserves the peer information reported by the session.

The metadata API in #13751 also wraps file-based contexts with default TLS settings, so it needs the same fix to preserve existing client behavior.

The regression test fails on master and passes with the fix. Both engine overloads are covered. The focused Maven reactor build and Checkstyle pass.

Split out of IGNITE-28867; it adds no reload behavior.

@anton-vinogradov

Copy link
Copy Markdown
Contributor Author

/runall

@ignite-pr-checker

ignite-pr-checker commented Oct 26, 2026 •

Copy link
Copy Markdown

@anton-vinogradov Ignite PR Checker verdict · RunAll build 9444214 · tested 346ba80 · 149 suites ran, 0 reused

⚠️ This run doesn't cover the PR fully:

  • mixed run — Basic 2, Calcite SQL 3 and Data Structures 2 re-ran on f9a0b28, the rest of the RunAll ran on 346ba80; only a RunAll of the PR's head can prove it clean

Everything below is what it did manage to say.

🔎 No blockers found — but the run above can't prove the PR is clean. 30 failing tests are not blamed on this PR. Re-run after you handle what is listed above.

What each label means and what to do: verdict glossary.

The PR is now at f9a0b28.

♻️ Settled after 1 auto re-run wave: #1 — 5 suites that failed mid-run.

🔁 Superseded by the newer RunAll 9444534 — its verdict is on the checker's page.

@anton-vinogradov

Copy link
Copy Markdown
Contributor Author

/runall

@ignite-pr-checker

ignite-pr-checker commented Oct 26, 2026 •

Copy link
Copy Markdown

@anton-vinogradov Ignite PR Checker verdict · RunAll build 9444534 · tested f9a0b28 · 149 suites ran, 0 reused

✅ No blockers — nothing in this run looks caused by this PR. 23 failing tests are not blamed on this PR.

What each label means and what to do: verdict glossary.

♻️ Settled after 2 auto re-run waves: #1 — 4 suites that failed mid-run; #2 — 2 broken suites.

🔁 Superseded by the newer RunAll 9445198 — its verdict is on the checker's page.

@anton-vinogradov

Copy link
Copy Markdown
Contributor Author

/runall

@ignite-pr-checker

Copy link
Copy Markdown

@anton-vinogradov Ignite PR Checker verdict · RunAll build 9445198 · tested 7a2076b · 149 suites ran, 0 reused

⚠️ This run doesn't cover the PR fully:

  • 1 suite ran fewer tests than the same suite on master

Everything below is what it did manage to say.

🔍 1 suite ran fewer tests than on master (tests that never ran can't fail):

  • Cache 1: ran 530 of master's 605 tests (−12%)

🔎 No blockers found — but the run above can't prove the PR is clean. 20 failing tests are not blamed on this PR. Re-run after you handle what is listed above.

What each label means and what to do: verdict glossary.

♻️ Settled after 2 auto re-run waves: #1 — 4 suites that failed mid-run; #2 — 1 broken suite.

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