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