There are two issues:

1> autowarming on the replicas

2> Until https://issues.apache.org/jira/browse/SOLR-11982 (Solr 7.4,
unreleased), requests would go to the leaders along with the PULL and
TLOG replicas. Since the leaders were busily indexing, the entire
query would suffer speed-wise.

So what I'd do is see if you can apply the patch there and adjust your
autowarming. Solr 7.4 will be out in the not-too-distant future,
perhaps over the summer. No real schedule has been agreed on though,

Best,
Erick

On Mon, May 21, 2018 at 9:23 PM, Nguyen Nguyen
<nguyen.a.ngu...@gmail.com> wrote:
> Hello everyone,
>
> I'm running SolrCloud cluster of 5 nodes with 5 shards and 3 replicas per
> shard.  I usually see spikes in query performance during high indexing
> period. I would like to have stable query response time even during high
> indexing period.  I recently upgraded to Solr 7.3 and running with 2 TLOG
> replicas and 1 PULL replica.  Using a small maxWriteMBPerSec for
> replication and only query PULL replicas during indexing period, I'm still
> seeing long query time for some queries (although not as often as before
> the change).
>
> My first question is 'Is it possible to control replication of non-leader
> like in master/slave configuration (eg: disablepoll, fetchindex)?'.  This
> way, I can disable replication on the followers until committing is
> completed on the leaders while sending query requests to the followers (or
> just PULL replica) only.  Then when data is committed on leaders, I would
> send query requests back to only leaders and tell the followers to start to
> fetch the newly updated index.
>
> If manual replication control isn't possible, I'm planning to have
> duplicate collections and use an alias to switch between the two collection
> at different times.  For example: while 'collection1' collection being
> indexed, and alias 'search' would point to 'collection2' collection to
> serve query request.  Once indexing is completed on 'collection1', 'search'
> alias would now point to 'collection1', and 'collection2' will be updated
> to be in sync with 'collection1'.  The cycle repeats for  next indexing
> cycle.  My question for this method would be if there is any existing
> method to sync one collection to another so that I don't have to send the
> same update requests to the two collections.
>
> Also wondering if there are other better methods everyone is using?
>
> Thanks much!
>
> Cheers,
>
> -Nguyen

Reply via email to