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

Joel Bernstein commented on SOLR-8433:
--------------------------------------

You may be right. But I think the way this is getting triggered by the prior 
test is through TestAnalyticsQParserPlugin which is loaded for the 
AnalyticsQueryTest. The AnalyticsQueryTest does not actually run the 
IterativeMergeStrategy code it just references the class, which is I how the 
static initializer was being called (I think). The way the code is structured 
you'd actually have run the IterativeMergeStrategy to initialize the 
HttpClient, which only one test does. So in theory the HttpClient should be 
null when the AnalyticsMergeStrategyTest is run.

I figured it would be nice to have a cached httpClient as it does some 
connection pooling.



> IterativeMergeStrategy test failures due to SSL errors  on Windows
> ------------------------------------------------------------------
>
>                 Key: SOLR-8433
>                 URL: https://issues.apache.org/jira/browse/SOLR-8433
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Joel Bernstein
>
> The AnalyticsMergeStrageyTest is failing on Windows with SSL errors. The 
> failures are occurring during the callbacks to the shards introduced in 
> SOLR-6398.
> {code}
>   
> [junit4]   2> Caused by: javax.net.ssl.SSLHandshakeException: 
> sun.security.validator.ValidatorException: PKIX path building failed: 
> sun.security.provider.certpath.SunCertPathBuilderException: unable to find 
> valid certification path to requested target
>    [junit4]   2>      at 
> sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
>    [junit4]   2>      at 
> sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
>    [junit4]   2>      at 
> sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
>    [junit4]   2>      at 
> sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
>    [junit4]   2>      at 
> sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)
>    [junit4]   2>      at 
> sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
>    [junit4]   2>      at 
> sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
>    [junit4]   2>      at 
> sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
>    [junit4]   2>      at 
> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
>    [junit4]   2>      at 
> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
>    [junit4]   2>      at 
> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
>    [junit4]   2>      at 
> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
>    [junit4]   2>      at 
> org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:543)
>    [junit4]   2>      at 
> org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:409)
>    [junit4]   2>      at 
> org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
>    [junit4]   2>      at 
> org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
>    [junit4]   2>      at 
> org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
>    [junit4]   2>      at 
> org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
>    [junit4]   2>      at 
> org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
>    [junit4]   2>      at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
>    [junit4]   2>      at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
>    [junit4]   2>      at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
>    [junit4]   2>      at 
> org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:480)
>    [junit4]   2>      ... 11 more
>    [junit4]   2> Caused by: sun.security.validator.ValidatorException: PKIX 
> path building failed: 
> sun.security.provider.certpath.SunCertPathBuilderException: unable to find 
> valid certification path to requested target
>    [junit4]   2>      at 
> sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
>    [junit4]   2>      at 
> sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
>    [junit4]   2>      at 
> sun.security.validator.Validator.validate(Validator.java:260)
>    [junit4]   2>      at 
> sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
>    [junit4]   2>      at 
> sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
>    [junit4]   2>      at 
> sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
>    [junit4]   2>      at 
> sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)
>    [junit4]   2>      ... 29 more
>    [junit4]   2> Caused by: 
> sun.security.provider.certpath.SunCertPathBuilderException: unable to find 
> valid certification path to requested target
>    [junit4]   2>      at 
> sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:146)
>    [junit4]   2>      at 
> sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)
>    [junit4]   2>      at 
> java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
>    [junit4]   2>      at 
> sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
>    [junit4]   2>      ... 35 more
>    [junit4]   2> 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to