[ 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org