We have Solr setup on 3 machines with only a single shard. We are using Solr 4.0 and currently have around 7 Million documents in our index. The size of our index is around 25 GB. We have a zookeeper ensemble of 3 zookeeper instances. Let's call the servers in our setup server (A), (B) and (C). All updates to Solr goes via server (C). Searches are performed on server (A) and (B). The updates are normally propagated incrementally from server (C) to the other 2 servers. Intermittently we have noted that the servers (A) and (B) makes a full copy of the index from server (C). This is not ideal because when this happens performance suffers. This occurs quite randomly and can occur on any of the other 2 nodes i.e. (A) and (B). On the server (C), which is the leader, we see errors like the following .We suspect this might be the reason why a full index copy occurs in the other nodes but we haven't been able to find out why this error is occurring. There is no connectivity issue with the servers. See the stacktrace below:
SEVERE: shard update error StdNode: http://serverA/solr/rn0/:org.apache.solr.client.solrj.SolrServerException: IOException occured when talking to server at: http:// serverA/solr/rn0 at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:413) at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:181) at org.apache.solr.update.SolrCmdDistributor$1.call(SolrCmdDistributor.java:335) at org.apache.solr.update.SolrCmdDistributor$1.call(SolrCmdDistributor.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.http.NoHttpResponseException: The target server failed to respond at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:101) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252) at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:282) at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247) at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:216) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:298) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125) at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:647) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732) at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:352) ... 11 more If anyone can help us troubleshoot this problem we will really appreciate the help. If there are any questions regarding our setup or further information regarding the error, please let me know. -- View this message in context: http://lucene.472066.n3.nabble.com/Why-is-SolrCloud-doing-a-full-copy-of-the-index-tp4060800.html Sent from the Solr - User mailing list archive at Nabble.com.