[
https://issues.apache.org/jira/browse/SOLR-12314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16464573#comment-16464573
]
Mark Miller commented on SOLR-12314:
------------------------------------
We can't just remove it though. The CUSC timeout setters still need to work
until they are removed.
They also need to work if set one or both of them - if neither are set, we can
just skip the request config object, if both are set, we use it, and if one is
set we have to get the right default for the other to set on the request config.
I think this also breaks the time outs coming from the builder if set that way.
If you set timeouts on the client itself, they should work - it should only
come from elsewhere or a passed in HttpClient object if they are not explicitly
set on the client itself.
> ConcurrentUpdateSolrClient doesn't respect the timeout's defined in the
> solr.xml file
> -------------------------------------------------------------------------------------
>
> Key: SOLR-12314
> URL: https://issues.apache.org/jira/browse/SOLR-12314
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Varun Thacker
> Assignee: Varun Thacker
> Priority: Major
> Attachments: SOLR-12314.patch
>
>
> In ConcurrentUpdateSolrClient we create an HttpPost Request which allows you
> to set a request config. If the request config is not provided httpclient
> will use the default request config.
>
> {code:java}
> org.apache.http.client.config.RequestConfig.Builder requestConfigBuilder =
> HttpClientUtil.createDefaultRequestConfigBuilder();
> if (soTimeout != null) {
> requestConfigBuilder.setSocketTimeout(soTimeout);
> }
> if (connectionTimeout != null) {
> requestConfigBuilder.setConnectTimeout(connectionTimeout);
> }
> method.setConfig(requestConfigBuilder.build());{code}
> While creating the httpclient object we ensure that the default request is
> set with the properties we care about. This happens in
> HttpClientUtils#setupBuilder
> {code:java}
> RequestConfig requestConfig = requestConfigBuilder.build();
> HttpClientBuilder retBuilder =
> builder.setDefaultRequestConfig(requestConfig);{code}
> So there is no need to set a per request config
>
> Here is where the httpclient picks the request config is provided on the
> request itself :
> [https://github.com/apache/httpcomponents-client/blob/4.5.3/httpclient/src/main/java/org/apache/http/impl/client/InternalHttpClient.java#L168]
>
> And if it's not provided it uses the default here :
> https://github.com/apache/httpcomponents-client/blob/4.5.3/httpclient/src/main/java/org/apache/http/impl/client/InternalHttpClient.java#L148
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]