[ 
https://issues.apache.org/jira/browse/SOLR-15026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17243399#comment-17243399
 ] 

Chris M. Hostetter commented on SOLR-15026:
-------------------------------------------

I have not started digging into this, so sure -- dig in.

i *think* what happened in the linked case is that the the SSL randomization in 
SolrTestCaseJ4 is setting sys props which the mini solr cloud cluster picks up, 
possible via sys prop expansion when parsing it's "solr.xml" file? ... in 
particular urlScheme.

So i think what this problem really is, is a conflagration of 
MiniSolrCloudCluster's default solr.xml logic assuming it should trust sys 
props, even when those sys props disagree with the jetty config it was 
explicitly passed -- AND/OR -- MiniSOlrCloudCLuster assuming it's going to be 
run via SolrCloudTestCase where those sys props are set, and falling back to 
hardcoded defaults when they aren't.  When what it could/should do is ensure 
that any "props" in solr.xml that it expects to be set, should be set in the 
SolrDispatchFilter "extra" attributes it passes to JettySolrRunner, based on 
the cluster config options.

> MiniSolrCloudCluster can inconsistently get confused about when it's using SSL
> ------------------------------------------------------------------------------
>
>                 Key: SOLR-15026
>                 URL: https://issues.apache.org/jira/browse/SOLR-15026
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Chris M. Hostetter
>            Assignee: Timothy Potter
>            Priority: Major
>
> A new test added in SOLR-14934 caused the following reproducible failure to 
> pop up on jenkins...
> {noformat}
> hossman@slate:~/lucene/dev [j11] [master] $ ./gradlew -p solr/test-framework/ 
> test --tests MiniSolrCloudClusterTest.testSolrHomeAndResourceLoaders 
> -Dtests.seed=806A85748BD81F48 -Dtests.multiplier=2 -Dtests.slow=true 
> -Dtests.locale=ln-CG -Dtests.timezone=Asia/Thimbu -Dtests.asserts=true 
> -Dtests.file.encoding=UTF-8
> Starting a Gradle Daemon (subsequent builds will be faster)
> > Task :randomizationInfo
> Running tests with randomization seed: tests.seed=806A85748BD81F48
> > Task :solr:test-framework:test
> org.apache.solr.cloud.MiniSolrCloudClusterTest > 
> testSolrHomeAndResourceLoaders FAILED
>     org.apache.solr.client.solrj.SolrServerException: IOException occurred 
> when talking to server at: https://127.0.0.1:38681/solr
>         at 
> __randomizedtesting.SeedInfo.seed([806A85748BD81F48:37548FA7602CB5FD]:0)
>         at 
> org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:712)
>         at 
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:269)
>         at 
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:251)
>         at 
> org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:390)
>         at 
> org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:360)
>         at 
> org.apache.solr.client.solrj.impl.BaseCloudSolrClient.sendRequest(BaseCloudSolrClient.java:1168)
>         at 
> org.apache.solr.client.solrj.impl.BaseCloudSolrClient.requestWithRetryOnStaleState(BaseCloudSolrClient.java:931)
>         at 
> org.apache.solr.client.solrj.impl.BaseCloudSolrClient.request(BaseCloudSolrClient.java:865)
>         at 
> org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:229)
>         at 
> org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:246)
>         at 
> org.apache.solr.cloud.MiniSolrCloudClusterTest.testSolrHomeAndResourceLoaders(MiniSolrCloudClusterTest.java:125)
> ...
>         Caused by:
>         javax.net.ssl.SSLException: Unsupported or unrecognized SSL message
>             at 
> java.base/sun.security.ssl.SSLSocketInputRecord.handleUnknownRecord(SSLSocketInputRecord.java:439)
> {noformat}
> The problem sems to be that even though the MiniSolrCloudCluster being 
> instantiated isn't _intentionally_ using any SSL randomization (it just uses 
> {{JettyConfig.builder().build()}} the CloudSolrClient returned by 
> {{cluster.getSolrClient()}} is evidnetly picking up the ranodmized SSL and 
> trying to use it to talk to the cluster.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to