On 4/27/2015 3:44 PM, spillane wrote:
> I manage a SolrCloud with 5 shards.  Queries go thru an AWS load balancer but
> indexing does not, so my leader1 is getting clobbered.  Should my SolrJ app
> be pointing at a load balancer and if so will indexing via the
> ConcurrentUpdateSolrServer class still work?

There are two problems with ConcurrentUpdateSolrServer (CUSS) in your
situation.

One is that it is not cloud-aware.  Only the cloud object --
CloudSolrServer (CloudSolrClient in 5.0 and later) is cloud-aware.

The other problem is that CUSS swallows exceptions.  The Solr server
that you are connecting to with CUSS could be entirely down and your
code would think the update had succeeded.

If you are only querying and updating Solr with the cloud object in
SolrJ, you do not need a load balancer at all, and index updates will
proceed as fast as they can, because the cloud object knows where the
shard leaders are.

SolrCloud will handle indexing requests properly no matter what server
receives them, so a load balancer does not present a problem with it
working correctly, although it might present a performance issue.  If
the update is sent somewhere other than the leader replica of the shard
that will actually contain the document, indexing is much slower than
optimal.

Thanks,
Shawn

Reply via email to