: 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

Reply via email to