You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by "raj.yadav" <ra...@cse.ism.ac.in> on 2020/11/09 12:44:45 UTC

How to reflect changes of solrconfig.xml to all the cores without causing any conflict

Recently we had modified `noCFSRatio` parameter of merge policy.

     <mergePolicyFactory
class="org.apache.solr.index.TieredMergePolicyFactory">
        <int name="maxMergeAtOnce">8</int>
        <int name="segmentsPerTier">5</int>
        <double name="FloorSegmentMB">50.0</double>
        <double name="maxMergedSegmentMB">4000</double>
        <double name="noCFSRatio">0.0</double>
      </mergePolicyFactory>

This is our current merge policy. Earlier `noCFSRatio` was set to `0.1`.

generally to reflect any changes of solrconfig we reload the collection. But
we stop doing this because we observe that during reload operation some of
the replicas go under-recovery after reloading operation. 
So instead of reload, we restart each replica one by one.  

Our restart procesdure:
1. Indexing was stopped on the collection and  issued a hard commit 
2. First restarted are the non leader replica and in the end restarted
leader replica

*Question:*
Since reload is not done, none of the replica (including leader) will have
updated solrconfig. And if we restart replica and if it trys to sync up with
leader will it reflect the latest changes of solrconfig or it will be the
same as leader. 

Also after this exercise, we have seen a sudden spike in CPU utilization on
a few replicas though there is not much increase in our system load. 
 

System config of VM:
disk size: 250 GB
cpu: (8 vcpus, 64 GiB memory)

Solr Collection detail:
single collection having 6 shard. each Vm is hosting single replica. 
Collection size: 60 GB (each shard size is 10 GB)
Average doc size: 1.0Kb




--
Sent from: https://lucene.472066.n3.nabble.com/Solr-User-f472068.html

Re: How to reflect changes of solrconfig.xml to all the cores without causing any conflict

Posted by Shawn Heisey <ap...@elyograg.org>.
On 11/9/2020 5:44 AM, raj.yadav wrote:
> *Question:*
> Since reload is not done, none of the replica (including leader) will have
> updated solrconfig. And if we restart replica and if it trys to sync up with
> leader will it reflect the latest changes of solrconfig or it will be the
> same as leader.

<snip>

> Solr Collection detail:
> single collection having 6 shard. each Vm is hosting single replica.
> Collection size: 60 GB (each shard size is 10 GB)
> Average doc size: 1.0Kb

If you restart Solr, it is effectively the same thing as reloading all 
cores on that Solr instance.

Your description (use of the terms "collection" and "shards") suggests 
that you're running in SolrCloud mode.  If you are, then modifying 
solrconfig.xml on the disk will change nothing.  You need to modify the 
solrconfig.xml that lives in ZooKeeper, or re-upload the changes to ZK. 
  Is that what you're doing?  After that, to make any changes effective, 
you have to reload the collection or restart the correct Solr instances.

I cannot tell you exactly what will happen as far as SolrCloud index 
synchronization, because I know nothing about your setup.  If the 
follower replica type is TLOG or PULL, then the index will be an exact 
copy of the leader's index.  With NRT, all replicas will independently 
index the data.

Thanks,
Shawn