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
>

Reply via email to