Hey everyone,
  I've been using Solr 4.8 for some time now,my solrcloud have three
replication, the shard have more than 64GB index file.But I meet some 
problem when solrcloud execute recovery, it consume a lot of bandwidth.
So when solrcloud recovery the replication download file from leader
 my other network program can't get bandwidth.
 
  My question is this, how can I control the solrcloud recovery bandwidth
consume? Is there some method control replication download file speed?
  Now, add a patch for "SnapPull.java", I modify the "DirectoryFileFetcher"
class, I modify the "fetchPackets(FastInputStream)" method.
                if (bytesCount >= bytesLimit) {
                        long currentTime = System.currentTimeMillis();
                        if (currentTime <= endTime) {
                                Thread.sleep(endTime - currentTime);
                                endTime = System.currentTimeMillis() + 50;
                                bytesCount = 0
                        } else{
                                endTime = System.currentTimeMillis() + 50;
                                bytesCount = 0;
                        }
                }
                
                bytesCount += packetSize;
  
  I control the download speed 40MB/s, but Some times it work failed.
  Every one meet same issue.
  
 Thanks.
 Peter Song.

Reply via email to