Off the top of my head, i don't know hte answers to some of your questions, but as to the core cause of the exception...
: 3. server.query(solrQuery) throws SolrServerException. How can concurrent : solr queries triggers Too many open file exception? ...bear in mind that (as i understand it) the limit on open files is actually a limit on open file *descriptors* which includes network sockets. a google search for "java.net.SocketException: Too many open files" will give you loads of results -- it's not specific to solr. -Hoss