Great info!  Thanks, Erick!

Cheers,
Nguyen

On Tue, May 22, 2018 at 5:45 AM Erick Erickson <erickerick...@gmail.com>
wrote:

> 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