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.