I have a running Solr (1.3) server that I want to query with SolrJ, and I'm running a benchmark that uses a pool of 10 threads to issue 1000 random queries to the server. Each query executes 7 searches in parallel.
My first attempt was to use a single instance of CommonsHttpSolrServer, using the default MultiThreadedHttpConnectionManager, but (as mentioned in SOLR-861), I quickly ran out of memory as every created thread blocked indefinitely on MultiThreadedHttpConnectionManager. Then I tried creating a pool of CommonsHttpSolrServer in which each SolrServer receives a newly-instantiated SimpleHttpConnectionManager, but execution of my test resulted in the following: Caused by: java.lang.IllegalStateException: Unexpected release of an unknown connection. at org.apache.commons.httpclient.SimpleHttpConnectionManager.releaseConnection(SimpleHttpConnectionManager.java:225) at org.apache.commons.httpclient.HttpConnection.releaseConnection(HttpConnection.java:1179) at org.apache.commons.httpclient.HttpMethodBase.ensureConnectionRelease(HttpMethodBase.java:2430) at org.apache.commons.httpclient.HttpMethodBase.releaseConnection(HttpMethodBase.java:1186) at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:394) Looking into the httpclient code, I can see that this exception is only thrown when the connection manager attempts to release an HttpConnection that it is not currently referencing, but since I instantiate connection managers on a per-thread basis I'm not sure what would cause that. I assume that SolrJ must be used by someone to execute parallel queries; is there something obvious (or not) that I'm missing? -- View this message in context: http://www.nabble.com/Problems-Issuing-Parallel-Queries-with-SolrJ-tp24522927p24522927.html Sent from the Solr - User mailing list archive at Nabble.com.