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

Anshum Gupta commented on SOLR-10456:
-------------------------------------

Thanks [~gerlowskija].

In the following code, guess we should rename this to just LBClientTimeouts? or 
are you thinking that this could be more?

{code:title=CloudSolrClient.java|borderStyle=solid}
  private void propagateLBClientConfigOptions(Builder builder) {
    final LBHttpSolrClient.Builder lbBuilder = builder.lbClientBuilder;
    
    if (builder.connectionTimeoutMillis != null) {
      lbBuilder.withConnectionTimeout(builder.connectionTimeoutMillis);
    }
    
    if (builder.socketTimeoutMillis != null) {
      lbBuilder.withSocketTimeout(builder.socketTimeoutMillis);
    }
  }
{code}

There's also a ton of duplication of the timeout code, and it would be good to 
have that as an interface that the builder could just implement, but we don't 
need to do that right now.

The only thing that this takes away though is the ability to set it once the 
object has been constructed i.e. changing the timeout would require recreating 
the object, however I think that is how it should be done.

I'll run the tests now.

> timeout-related setters should be deprecated in favor of SolrClientBuilder 
> methods
> ----------------------------------------------------------------------------------
>
>                 Key: SOLR-10456
>                 URL: https://issues.apache.org/jira/browse/SOLR-10456
>             Project: Solr
>          Issue Type: Sub-task
>          Components: SolrJ
>            Reporter: Jason Gerlowski
>            Assignee: Anshum Gupta
>            Priority: Minor
>             Fix For: 7.0
>
>         Attachments: SOLR-10456.patch, SOLR-10456.patch, SOLR-10456.patch, 
> SOLR-10456.patch
>
>
> Now that builders are in place for {{SolrClients}}, the setters used in each 
> {{SolrClient}} can be deprecated, and their functionality moved over to the 
> Builders. This change brings a few benefits:
> - unifies {{SolrClient}} configuration under the new Builders. It'll be nice 
> to have all the knobs, and levers used to tweak {{SolrClient}}s available in 
> a single place (the Builders).
> - reduces {{SolrClient}} thread-safety concerns. Currently, clients are 
> mutable. Using some {{SolrClient}} setters can result in erratic and "trappy" 
> behavior when the clients are used across multiple threads.
> This subtask endeavors to change this behavior for the 
> {{setConnectionTimeout}} and {{setSoTimeout}} setters on all {{SolrClient}} 
> implementations.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to