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

Shawn Heisey commented on SOLR-7127:
------------------------------------

bq. How about instead of returning a vanilla SolrClient, we return a 
CollectionSolrClient, which is an extension of CloudSolrClient with all the 
setters overridden to throw UnsupportedOperationException.

This sounds like a good idea.  Rather than complicate CloudSolrClient, use 
inheritance to wrangle whatever needs to behave differently into its own class, 
keeping the parent clean. Should the new class name include "Cloud"?  It is a 
cloud client, so maybe the name should reflect that.


> Add method to CloudSolrClient to create per-collection clients
> --------------------------------------------------------------
>
>                 Key: SOLR-7127
>                 URL: https://issues.apache.org/jira/browse/SOLR-7127
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Alan Woodward
>            Assignee: Alan Woodward
>            Priority: Minor
>         Attachments: SOLR-7127.patch, SOLR-7127.patch
>
>
> CloudSolrClient isn't thread-safe if you're making requests to multiple 
> collections, because defaultCollection is mutable.  This can be a pain if 
> you're trying to index into multiple collections from a single queue of 
> documents.
> This issue adds a .getCollectionClient(String) method to CloudSolrClient that 
> returns a child client directed at that collection.  Under the hood it's 
> another CloudSolrClient sharing it's resources with the parent client, but 
> with a separate default collection set.  The method returns a SolrClient, 
> however, so you can't then change the collection unless you explicitly cast 
> it.
> Sort of related to what I wanted to do on SOLR-6894, but this is more 
> focussed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to