[
https://issues.apache.org/jira/browse/SOLR-6625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14647874#comment-14647874
]
Steve Rowe commented on SOLR-6625:
----------------------------------
I'm seeing reproducible {{TestCloudSolrClientConnections}} failures on trunk
and branch_5x on my Jenkins after commits on this issue. Here's the trunk one
([http://jenkins.sarowe.net/job/Lucene-Solr-tests-trunk/1152/]):
{noformat}
[junit4] 2> NOTE: reproduce with: ant test
-Dtestcase=TestCloudSolrClientConnections
-Dtests.method=testCloudClientCanConnectAfterClusterComesUp
-Dtests.seed=C37B717A18417443 -Dtests.slow=true -Dtests.locale=bg_BG
-Dtests.timezone=SystemV/HST10 -Dtests.asserts=true -Dtests.file.encoding=UTF-8
[junit4] ERROR 7.12s J1 |
TestCloudSolrClientConnections.testCloudClientCanConnectAfterClusterComesUp <<<
[junit4] > Throwable #1: org.apache.solr.common.SolrException: A
SolrHttpContext object must be passed in as context. Context:
{http.request=org.apache.http.impl.client.RequestWrapper@eddf10a,
http.request-config=[expectContinueEnabled=false, proxy=null,
localAddress=null, cookieSpec=null, redirectsEnabled=true,
relativeRedirectsAllowed=true, maxRedirects=50, circularRedirectsAllowed=false,
authenticationEnabled=true, targetPreferredAuthSchemes=null,
proxyPreferredAuthSchemes=null, connectionRequestTimeout=0, connectTimeout=0,
socketTimeout=0, decompressionEnabled=true],
http.auth.proxy-scope=state:UNCHALLENGED;, http.auth.credentials-provider={},
http.scheme-registry=org.apache.http.conn.scheme.SchemeRegistry@4861e7d6,
http.cookie-spec=best-match, http.cookie-store=[],
http.connection=org.apache.http.impl.conn.ManagedClientConnectionImpl@771b321c,
http.auth.target-scope=state:UNCHALLENGED;,
http.cookiespec-registry=org.apache.http.cookie.CookieSpecRegistry@1b78f4d2,
http.target_host=https://127.0.0.1:51727,
http.route={s}->https://127.0.0.1:51727,
http.cookie-origin=[(secure)127.0.0.1:51727/solr/admin/collections],
http.authscheme-registry=org.apache.http.auth.AuthSchemeRegistry@7acc1316}
[junit4] > at
__randomizedtesting.SeedInfo.seed([C37B717A18417443:D897F2DA4A5D5186]:0)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpClientConfigurer$1.process(HttpClientConfigurer.java:92)
[junit4] > at
org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:132)
[junit4] > at
org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:166)
[junit4] > at
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485)
[junit4] > at
org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
[junit4] > at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
[junit4] > at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
[junit4] > at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:465)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:234)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:226)
[junit4] > at
org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:376)
[junit4] > at
org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:328)
[junit4] > at
org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1086)
[junit4] > at
org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:856)
[junit4] > at
org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:799)
[junit4] > at
org.apache.solr.client.solrj.SolrClient.request(SolrClient.java:1220)
[junit4] > at
org.apache.solr.client.solrj.impl.TestCloudSolrClientConnections.testCloudClientCanConnectAfterClusterComesUp(TestCloudSolrClientConnections.java:57)
[junit4] > at java.lang.Thread.run(Thread.java:745)
{noformat}
and the branch_5x one
([http://jenkins.sarowe.net/job/Lucene-Solr-tests-5.x-Java8/892/]):
{noformat}
[junit4] 2> NOTE: reproduce with: ant test
-Dtestcase=TestCloudSolrClientConnections
-Dtests.method=testCloudClientCanConnectAfterClusterComesUp
-Dtests.seed=FC64970124605306 -Dtests.slow=true -Dtests.locale=ar_LY
-Dtests.timezone=Asia/Vientiane -Dtests.asserts=true -Dtests.file.encoding=UTF-8
[junit4] ERROR 1.84s J1 |
TestCloudSolrClientConnections.testCloudClientCanConnectAfterClusterComesUp <<<
[junit4] > Throwable #1:
org.apache.solr.client.solrj.SolrServerException: java.lang.NullPointerException
[junit4] > at
__randomizedtesting.SeedInfo.seed([FC64970124605306:E78814A1767C76C3]:0)
[junit4] > at
org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:414)
[junit4] > at
org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:328)
[junit4] > at
org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1086)
[junit4] > at
org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:856)
[junit4] > at
org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:799)
[junit4] > at
org.apache.solr.client.solrj.SolrClient.request(SolrClient.java:1220)
[junit4] > at
org.apache.solr.client.solrj.impl.TestCloudSolrClientConnections.testCloudClientCanConnectAfterClusterComesUp(TestCloudSolrClientConnections.java:57)
[junit4] > at java.lang.Thread.run(Thread.java:745)
[junit4] > Caused by: java.lang.NullPointerException
[junit4] > at
org.apache.solr.client.solrj.impl.BasicHttpSolrClientTest$2.process(BasicHttpSolrClientTest.java:672)
[junit4] > at
org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:132)
[junit4] > at
org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:166)
[junit4] > at
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485)
[junit4] > at
org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
[junit4] > at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
[junit4] > at
org.apache.solr.util.SolrHttpClient$SolrSystemDefaultHttpClient.execute(SolrHttpClient.java:54)
[junit4] > at
org.apache.solr.util.SolrHttpClient$SolrSystemDefaultHttpClient.execute(SolrHttpClient.java:45)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:465)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:234)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:226)
[junit4] > at
org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:376)
[junit4] > ... 45 more
{noformat}
The above is from Jenkins on Linux, but when I run the repro line on OS X, I
get a different exception:
{noformat}
[junit4] 2> NOTE: reproduce with: ant test
-Dtestcase=TestCloudSolrClientConnections
-Dtests.method=testCloudClientCanConnectAfterClusterComesUp
-Dtests.seed=FC64970124605306 -Dtests.slow=true -Dtests.locale=ar_LY
-Dtests.timezone=Asia/Vientiane -Dtests.asserts=true -Dtests.file.encoding=UTF-8
[junit4] ERROR 5.08s |
TestCloudSolrClientConnections.testCloudClientCanConnectAfterClusterComesUp <<<
[junit4] > Throwable #1: org.apache.solr.common.SolrException: A
SolrHttpContext object must be passed in as context. Context:
{http.request=org.apache.http.impl.client.RequestWrapper@560c17c7,
http.request-config=[expectContinueEnabled=false, proxy=null,
localAddress=null, cookieSpec=null, redirectsEnabled=true,
relativeRedirectsAllowed=true, maxRedirects=50, circularRedirectsAllowed=false,
authenticationEnabled=true, targetPreferredAuthSchemes=null,
proxyPreferredAuthSchemes=null, connectionRequestTimeout=0, connectTimeout=0,
socketTimeout=0, decompressionEnabled=true],
http.auth.proxy-scope=state:UNCHALLENGED;, http.auth.credentials-provider={},
http.scheme-registry=org.apache.http.conn.scheme.SchemeRegistry@13917b5,
http.cookie-spec=best-match, http.cookie-store=[],
http.connection=org.apache.http.impl.conn.ManagedClientConnectionImpl@492e6959,
http.auth.target-scope=state:UNCHALLENGED;,
http.cookiespec-registry=org.apache.http.cookie.CookieSpecRegistry@39eeeeba,
http.target_host=https://127.0.0.1:52502,
http.route={s}->https://127.0.0.1:52502,
http.cookie-origin=[(secure)127.0.0.1:52502/solr/admin/collections],
http.authscheme-registry=org.apache.http.auth.AuthSchemeRegistry@f6a646f}
[junit4] > at
__randomizedtesting.SeedInfo.seed([FC64970124605306:E78814A1767C76C3]:0)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpClientConfigurer$1.process(HttpClientConfigurer.java:92)
[junit4] > at
org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:132)
[junit4] > at
org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:166)
[junit4] > at
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485)
[junit4] > at
org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
[junit4] > at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
[junit4] > at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
[junit4] > at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:465)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:234)
[junit4] > at
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:226)
[junit4] > at
org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:376)
[junit4] > at
org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:328)
[junit4] > at
org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1086)
[junit4] > at
org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:856)
[junit4] > at
org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:799)
[junit4] > at
org.apache.solr.client.solrj.SolrClient.request(SolrClient.java:1220)
[junit4] > at
org.apache.solr.client.solrj.impl.TestCloudSolrClientConnections.testCloudClientCanConnectAfterClusterComesUp(TestCloudSolrClientConnections.java:57)
[junit4] > at java.lang.Thread.run(Thread.java:745)
{noformat}
> HttpClient callback in HttpSolrServer
> -------------------------------------
>
> Key: SOLR-6625
> URL: https://issues.apache.org/jira/browse/SOLR-6625
> Project: Solr
> Issue Type: Improvement
> Components: SolrJ
> Reporter: Gregory Chanan
> Assignee: Noble Paul
> Priority: Minor
> Attachments: SOLR-6625.patch, SOLR-6625.patch, SOLR-6625.patch,
> SOLR-6625.patch, SOLR-6625.patch, SOLR-6625.patch, SOLR-6625.patch,
> SOLR-6625.patch, SOLR-6625_SolrReqPropogate.patch,
> SOLR-6625_interceptor.patch, SOLR-6625_interceptor.patch,
> SOLR-6625_interceptor.patch, SOLR-6625_interceptor.patch,
> SOLR-6625_interceptor.patch, SOLR-6625_interceptor.patch,
> SOLR-6625_interceptor.patch, SOLR-6625_interceptor.patch,
> SOLR-6625_interceptor.patch, SOLR-6625_interceptor.patch,
> SOLR-6625_r1654079.patch, SOLR-6625_r1654079.patch
>
>
> Some of our setups use Solr in a SPNego/kerberos setup (we've done this by
> adding our own filters to the web.xml). We have an issue in that SPNego
> requires a negotiation step, but some HttpSolrServer requests are not
> repeatable, notably the PUT/POST requests. So, what happens is,
> HttpSolrServer sends the requests, the server responds with a negotiation
> request, and the request fails because the request is not repeatable. We've
> modified our code to send a repeatable request beforehand in these cases.
> It would be nicer if HttpSolrServer provided a pre/post callback when it was
> making an httpclient request. This would allow administrators to make
> changes to the request for authentication purposes, and would allow users to
> make per-request changes to the httpclient calls (i.e. modify httpclient
> requestconfig to modify the timeout on a per-request basis).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]