You're probably hitting a background merge and the request is timing out even though the commit succeeds. Try querying for the data in the last packet to test this.
And you don't say what version of Solr you're using. One test you can do is increase the number of documents before a commit. If merging is the problem I'd expect you to _still_ encounter this problem, just much less often. That would at least tell you if this is the right path to investigate. Best Erick On Tue, Jun 5, 2012 at 6:51 AM, <spr...@gmx.eu> wrote: > Hi, > > I'm indexing documents in batches of 100 docs. Then commit. > > Sometimes I get this exception: > > org.apache.solr.client.solrj.SolrServerException: > java.net.SocketTimeoutException: Read timed out > at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpS > olrServer.java:475) > at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpS > olrServer.java:249) > at > org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractU > pdateRequest.java:105) > at > org.apache.solr.client.solrj.SolrServer.commit(SolrServer.java:178) > > > I found some similar postings in the web, all recommending autocommit. This > is unfortunately not an option for me, because I have to know whether solr > committed or not. > > What is causing this timeout? > > I'm using these settings in solrj: > > server.setSoTimeout(1000); > server.setConnectionTimeout(100); > server.setDefaultMaxConnectionsPerHost(100); > server.setMaxTotalConnections(100); > server.setFollowRedirects(false); > server.setAllowCompression(true); > server.setMaxRetries(1); > > Thank you >