SOLR replication keeps downloading entire index from master
I have 2 slave开发者_如何学Gos replicating from a master that has a 17GB index. I synced both slaves to this, AFTER which I set the poll interval to 60 seconds.
One of the slaves tries to download the entire 17GB index even if only a tiny portion of it has changed. The other does not do this - it is able to get the latest index without this brute force sync. The redundant downloading causes me to exceed my disk space quota because it takes more than 60 seconds to download 17GB and solr kicks off a 2nd sync into yet another temporary directory.
Does anyone have any tips on how to debug this?
I can only see three possible causes of this:
- An optimize is triggered during the time interval causing all of the underlying segmets to be merged. See: Optimize performance
- You're running with an exessivly high merge factor causing your index to merge with every commit. See: Merge factor
- You're running with compund files. See the config:
<useCompoundFile>false</useCompoundFile>
This also causes a segment merge at every commit.
The only way I can think of how to debug this is by manually makingt the replication with the Solr Replication HTTP API.
Disable the replication and watch how files are updated in the Solr master with the command:
http://host:port/solr/replication?command=indexversion
followed by:
http://host:port/solr/replication?command=indexversion
Hope this helps!
精彩评论