[
https://issues.apache.org/jira/browse/SOLR-7127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alan Woodward updated SOLR-7127:
--------------------------------
Attachment: SOLR-7127.patch
Improved the test to check that closing child clients doesn't affect any of
their siblings or the parent client. This caught that the executor service
wasn't being shared, so I fixed that as well.
The child clients should be very lightweight - all objects that take up
resources (thread pool, httpclient, etc) are shared with the parent.
bq. ... possible to have fully thread-safe CloudSolrClient usage ...
I'd disagree with this. "Thread-safe as long as you do X" means "not
thread-safe" IMHO...
> 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]