I have a SolrJ app that talks to four Solr servers. For each server, it
creates 14 HttpSolrServer objects, each for a different core.
Once it's running, the app knows how to deal with errors, especially
those caused when the server goes down.
The problem is at program startup -- when 'new HttpSolrServer(url)' is
called, it goes and makes sure that the server is up and responsive. If
any of those 56 object creation calls fails, then my app won't even start.
Due to the design of my app, a server being down at startup is not
really a problem. When the program tries to update an index that's
down, that fact will be noticed. If the situation continues for long
enough, an alarm email is generated, but the program will continue to
operate correctly on the servers that are still up.
As far as I can tell, there is no built-in way to bypass the health
check at object creation. Is there an alternate way of initializing
these objects that would bypass this?
Someone on the IRC channel brought up the possibility of initializing
the HttpClient myself instead of letting the Solr object do it. If the
health check is actually in HttpClient, this might work, if there's a
way to initialize the HttpClient without a health check. I've actually
been wondering if it makes any sense to re-use a single HttpClient
object across all 56 server objects.
Should I file a Jira for an alternate SolrServer constructor that
doesn't perform a healthcheck?
Thanks,
Shawn
- Need to create SolrServer objects without checking ser... Shawn Heisey
-