patsonluk opened a new pull request, #1939: URL: https://github.com/apache/solr/pull/1939
https://issues.apache.org/jira/browse/SOLR-16890 # Description The test cases addd in https://github.com/apache/solr/pull/1782 quite frequently (~50%) triggers exceptions like below ``` javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at __randomizedtesting.SeedInfo.seed([E4EC6C5CCCED4A1C:F7AAD286F82B4C34]:0) ... at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:572) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:201) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:168) at org.apache.solr.search.TestCoordinatorRole.testConfigset(TestCoordinatorRole.java:626) ... ``` This is due to the fact that the plain java `URL`, `HttpURLConnection` used does not handle the SSL configuration properly, and it appears that the test case could trigger with/without SSL , and when SSL is enabled, the test case would fail with above exception. This could be reproduced locally by ``` ./gradlew :solr:core:test --tests "org.apache.solr.search.TestCoordinatorRole.testConfigset" -Ptests.jvms=4 -Ptests.haltonfailure=false "-Ptests.jvmargs=-XX:TieredStopAtLevel=1 -XX:+UseParallelGC -XX:ActiveProcessorCount=1 -XX:ReservedCodeCacheSize=120m" -Ptests.seed=E4EC6C5CCCED4A1C -Ptests.multiplier=2 -Ptests.badapples=false -Ptests.file.encoding=US-ASCII ``` # Solution It's tricky to properly set up the HttpURLConnection to handle the SSL requests. As described in the issue, we cannot use the `Http2SolrClient` directly as cache response header (that we need to verify on) gets dropped. Therefore we will use the `HttpSolrClient` and call the `getHttpClient` to get the properly configured client for the requests. # Tests Fixing the test case # Checklist Please review the following and check all that apply: - [x] I have reviewed the guidelines for [How to Contribute](https://wiki.apache.org/solr/HowToContribute) and my code conforms to the standards described there to the best of my ability. - [x] I have created a Jira issue and added the issue ID to my pull request title. - [ ] I have given Solr maintainers [access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork) to contribute to my PR branch. (optional but recommended) - [x] I have developed this patch against the `main` branch. - [ ] I have run `./gradlew check`. - [ ] I have added tests for my changes. - [ ] I have added documentation for the [Reference Guide](https://github.com/apache/solr/tree/main/solr/solr-ref-guide) -- 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: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org