I am working with a Java application that uses SolrJ to index documents to a Solr server.

In my local test environment, I run a local Solr instance on a Tomcat server on my windows xp box. When I run the Java app from a different Windows box, the indexing completes successfully and the Solr log files look normal.

However, running the same Java application deployed on linux webserver communicating to another linux webserver running Solr, I receive "read timed out" messages after every solr update command:

Jul 14, 2011 3:12:31 AM org.apache.solr.core.SolrCore execute INFO: []

webapp=/solr path=/update params={wt=javabin&version=1} status=400 QTime=20020 Jul 14, 2011 3:12:51 AM org.apache.solr.update.processor.LogUpdateProcessor finish INFO: {} 0 20021 Jul 14, 2011 3:12:51 AM org.apache.solr.common.SolrException log SEVERE: org.apache.solr.common.SolrException: java.net.SocketTimeoutException: Read timed out at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:72) at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54) at...

Caused by: javax.xml.stream.XMLStreamException: java.net.SocketTimeoutException: Read timed out

Any idea why this might be happening? My suspicion is that something is closing these connections after they are initiated (e.g. web filtering software, firewall...), but the network admins at my workplace say that no traffic is being blocked.

It is also strange to me why this works on windows, but not on linux.


Several leads:

  • Are you indexing data at high rate ? If yes, this can lead to solr locks while it's writing its indices on the disk (explain why this is no visible on dev...)
  • Slow disk or FS on the linux ? If yes, with indexation combined, it can become quite a hell...
  • Did you try running the two services (web and solr) on the same linux box to see the problem disappear ? If the problem disappears, then it's clearly network related, and you can switch to the "ultimate" solution:
  • Have you tried sniffing the network traffic using tcpdump and open the trace in Wireshark, see what's going on ?

Hope this helps, good luck !

  • Thanks for the suggestions - I recommended installing and running the solr indexing application locally, so I imagine this will be the next troubleshooting step. – Kyle Jul 26 '11 at 14:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.