Sometimes, the host & port that a Solr node is accessible at *within* the
SolrCloud cluster is different from one *outside* the cluster.

I recall this use-case at my last job in which the host name that was
exposed was not ideally chosen, even though it worked mostly but wasn't
reliable in startup/shutdown scenarios (involving k8s).  Sorry I don't
remember more. One important use-case I'm facing right now is Solr running
in Docker, with tests that want to use CloudSolrClient to be realistic.
Inside, Solr is running at localhost:8983 but from the outside, the random
port available to run the container is something else.  A work-around is to
fix/hard-code the port but that limits test parallelization to one, and may
conflict with Solr running on a developer workstation for other reasons.

I'm looking at CloudSolrClient and I'm seeing that a solution may be as
simple as extracting all calls to Utils.getBaseUrlForNodeName to some
plugable mechanism (details very TBD).  I haven't tried it yet; this is
just a straw-man.  Any thoughts on this and the general need?

~ David Smiley
Apache Lucene/Solr Search Developer
http://www.linkedin.com/in/davidwsmiley

Reply via email to