: I have several custom QueryComponents that have high one-time startup costs : (hashing things in the index, caching things from a RDBMS, etc...)
you need to provide more details about how your custom components work -- in particular: where in teh lifecycle of your components is this high-startup cost happening? : Is there a way to prevent solr from accepting connections before all : QueryComponents are "ready"? Define "ready" ? ... things that happen in the init() and inform(SolrCore) methods will completley prevent the SolrCore from being available for queries. Likewise: if you are using "firstSearcher" warming queries, then the "useColdSearcher" option in solrconfig.xml can be used to control wether or not external requests will "block" until the searcher is available or not -- however this doesn't prevent the servlet container from "accepting" the HTTP connection. but as mentioned, this is where things like the PingRequestHandler and the enable/disable commands can be used to take servers in and out of rotation with your load balancer -- assuming that your load balanver can be configured to monitor the ping URL. Alternatively you can just use native features of your load balancer to control this independent of solr (but the ping handler is a nice way of letting one set of dev/ops folks own the solr servers and control their availability even if they don't have the ability to control the load blaancer itself) -Hoss