xiangfu0 opened a new pull request, #20136: URL: https://github.com/apache/pinot/pull/20136
When a Java/JDBC client supplies a custom `SSLContext`, `DefaultSslContextProvider` replaces AsyncHttpClient's default engine factory. That skips the factory's HTTPS endpoint identification, so a trusted certificate can be accepted for the wrong broker hostname. Set HTTPS endpoint identification on the custom engine while honoring AHC's existing `disableHttpsEndpointIdentificationAlgorithm` setting. Trust material, protocol selection and the path without a custom context remain unchanged. **Compatibility:** certificates must match the dialed hostname (DNS SAN, or CN when no DNS SAN exists). Brokers discovered by IP need an IP SAN. Previously accepted mismatched certificates will fail after this fix. The existing JVM-wide opt-out is documented, including its once-per-JVM initialization behavior. Controller/admin HTTPS transports are separate pre-existing paths and are outside this focused change. **Validation:** - Java client suite: 194 tests pass on JDK 25, with Spotless, license and Checkstyle enabled. - JDBC client suite: 71 tests pass; the subsequent commit only clarifies documentation. - New real-handshake test: matching localhost succeeds, a trusted mismatched IP fails with a certificate error, and the explicit AHC opt-out succeeds. - Negative control on unfixed master fails exactly the mismatched-host assertion. - Independent Claude Opus 5.5 review found no critical or major issues; the certificate-matching documentation finding was addressed. Tested source base: `25d05ce4a90bfede3ee8dafc9fa4b60b76003b19`. At submission, master advanced through two unrelated query/rebalance-test commits to `772f77233801a8f256b4a045ade4cf46e1ce7e8d`; neither changes the Java/JDBC client modules or root POM. Hosted CI will validate the current merge base. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
