You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Webster Homer <we...@milliporesigma.com> on 2019/03/01 22:24:41 UTC
CloudSolrClient Question
I am using the CloudSolrClient Solrj api for querying solr cloud collections. For the most part it works well. However we recently experienced a series of outages where our production cloud became unavailable. All the nodes were down. That's a separate topic... The client application tried to launch searches but always experienced a SolrServerException that there were no live nodes available. After a few hundred such exceptions, the application ran out of memory and failed when trying to allocate a thread... I'm not sure where the resources are being leaked in exception handling. Is there a way to ask the CloudSolrClient if there are enough replicas to execute the search.
I'm using Solr 7.2
Re: CloudSolrClient Question
Posted by Erick Erickson <er...@gmail.com>.
First, that resource leak is worrying. Is there any way you could take a stack trace and/or memory dump? I suppose it’d be easy enough to simulate. It’s particularly worrying because SolrJ is how Solr<->Solr communications happen so if there really is more than transitory leak that’d affect Solr as well.
Second, I don’t think there’s a method that does exactly what you want, anything like “isOneNodeHealthyForEachSlice()”, but there is DocCollection.getActiveSlices() so I guess you could ask if (docCollection.getActiveSlices().length == known_number_of_shards)…
Best
Erick
> On Mar 1, 2019, at 2:24 PM, Webster Homer <we...@milliporesigma.com> wrote:
>
> I am using the CloudSolrClient Solrj api for querying solr cloud collections. For the most part it works well. However we recently experienced a series of outages where our production cloud became unavailable. All the nodes were down. That's a separate topic... The client application tried to launch searches but always experienced a SolrServerException that there were no live nodes available. After a few hundred such exceptions, the application ran out of memory and failed when trying to allocate a thread... I'm not sure where the resources are being leaked in exception handling. Is there a way to ask the CloudSolrClient if there are enough replicas to execute the search.
>
> I'm using Solr 7.2