[ 
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

Reply via email to