Re: Solr not distributing search requests among replicas

2021-03-11 Thread Chris Hostetter
: >> 2) a single "extra" solr node in the cluster can be used as a "self : configuring" load balancer : : I’ve thought about this a bunch before, are there mechanisms to instruct : Solr to not host shards for this purpose? Maybe it deserves its own : discussion. Rules based replica placement can

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Walter Underwood
You could even run a separate Solr on the node just to redistribute the queries. But if I was going to do that, I’d run a copy of nginx as a load balancer instead. wunder Walter Underwood wun...@wunderwood.org http://observer.wunderwood.org/ (my blog) > On Mar 10, 2021, at 4:51 PM, Mike Drob w

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Mike Drob
>> 2) a single "extra" solr node in the cluster can be used as a "self configuring" load balancer I’ve thought about this a bunch before, are there mechanisms to instruct Solr to not host shards for this purpose? Maybe it deserves its own discussion. On Wed, Mar 10, 2021 at 5:14 PM Chris Hostette

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Chris Hostetter
: > that seems... dangerous. you could easily wind up in a situation where : > nodes just keep trying to forward forever? : : There is some special http parameter being added when forwarding : requests, so I'm sure each node will be able to decide whether it should : act as LB or if it is sup

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Jan Høydahl
> no -- this won't work, because the requerst your remote client sends will > need to specify the actual collection you want to query, and when the node I was more thinking of some explicit &collections=otherColl or &shards=other_1,other_2 but easier to just send to a node without that collect

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Chris Hostetter
: Is there any way whatsoever to solve this on the Solr side only? : : Only I can think of is to send all requests to a 3rd node in the cluster : that does not have a core for the collection, then it will balance : between the two :) correct -- you can create a Solr node w/o any cores that wil

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Jan Høydahl
Aha, I'm starting to see what is happening here. So on the server side, a node hosting one of N replicas for a shard, and that collection is single-sharded, then no randomization or forwarding will ever take place. Before SOLR-12217 it would not happen when using SolrJ either, but after SOLR-12

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Chris Hostetter
: Ah, I missed "single shard" ... this looks relevant: : https://issues.apache.org/jira/browse/SOLR-12217 That improvement still isn't going to impact Jan's situation where the *client* isn't SolrJ ... as the description says: >> NOTE: This Jira doesn't cover the single-sharded collections case

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Chris Hostetter
tributed sub-requests to each of the shards and is deciding which replica of each shard should get the request. : Date: Wed, 10 Mar 2021 18:42:35 +0100 : From: Jan Høydahl : Reply-To: users@solr.apache.org : To: users@solr.apache.org : Subject: Re: Solr not distributing search requests among repli

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Christine Poerschke (BLOOMBERG/ LONDON)
not distributing search requests among replicas We have not set any shard.preference, and I also think preferLocal defaults to false, i.e random Earlier we had 2 shares for the same collection (both existed on both nodes) and then requests were distributed to both nodes. That’s why, when we went

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Michael Gibney
Ah, I missed "single shard" ... this looks relevant: https://issues.apache.org/jira/browse/SOLR-12217 On Wed, Mar 10, 2021 at 12:43 PM Jan Høydahl wrote: > We have not set any shard.preference, and I also think preferLocal > defaults to false, i.e random > > Earlier we had 2 shares for the same

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Jan Høydahl
We have not set any shard.preference, and I also think preferLocal defaults to false, i.e random Earlier we had 2 shares for the same collection (both existed on both nodes) and then requests were distributed to both nodes. That’s why, when we went to 1 shard, I was wondering if the “single-sha

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Michael Gibney
You say not "anything fancy" -- depending on how you define "fancy", if you have an explicit `shards.preference` param, based on the version you're running (8.4) you might also take a look at https://issues.apache.org/jira/browse/SOLR-14471. (If SOLR-14471 is the problem, removing the explicit `sha

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Houston Putman
I could be wrong, but i dont think preferLocalShards is the default in multi-shard use cases. On Wed, Mar 10, 2021 at 9:07 AM Mike Drob wrote: > I believe a server will always try to prefer local cores. Can you do an > experiment with 3 nodes, and send http queries to the node not hosting any >

Re: Solr not distributing search requests among replicas

2021-03-10 Thread Mike Drob
I believe a server will always try to prefer local cores. Can you do an experiment with 3 nodes, and send http queries to the node not hosting any replicas? That should confirm the balanced distribution. If you have multiple shards, the receiving server will forward the requests for shards it does

Solr not distributing search requests among replicas

2021-03-10 Thread Jan Høydahl
Hi, A client has a SolrCloud 8.4 setup with two nodes, and one collection with one shard and replicationFactor=2. Of course we want search traffic to be evenly distributed between the two replicas. The client is using plain HTTP requests, no SolrJ or anything fancy, and sends all requests to on