[
https://issues.apache.org/jira/browse/SOLR-7127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14328056#comment-14328056
]
Shawn Heisey commented on SOLR-7127:
------------------------------------
This is a really interesting idea, especially if the child clients have very
low overhead. I will review the patch when I have a few moments of personal
time ... I hope it's something I can understand.
It actually is currently possible to have fully thread-safe CloudSolrClient
usage with multiple collections, but the responsibility of choosing a
collection is on the request instead of the client. This is reasonably
straightforward for queries (just add a collection parameter to the query
object), but the incantations required for updates and other types of requests
are not at all intuitive.
> 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
>
>
> 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]