[
https://issues.apache.org/jira/browse/SOLR-8862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hoss Man updated SOLR-8862:
---------------------------
Description:
{{/live_nodes}} is populated surprisingly early (and multiple times) in the
life cycle of a sole node startup, and as a result probably shouldn't be used
by {{CloudSolrClient}} (or other "smart" clients) for deciding what servers are
fair game for requests.
we should either fix {{/live_nodes}} to be created later in the lifecycle, or
add some new ZK node for this purpose.
{panel:title=original bug report}
I haven't been able to make sense of this yet, but what i'm seeing in a new
SolrCloudTestCase subclass i'm writing is that the code below, which
(reasonably) attempts to create a collection immediately after configuring the
MiniSolrCloudCluster gets a "SolrServerException: No live SolrServers available
to handle this request" -- in spite of the fact, that (as far as i can tell at
first glance) MiniSolrCloudCluster's constructor is suppose to block until all
the servers are live..
{code}
configureCluster(numServers)
.addConfig(configName, configDir.toPath())
.configure();
Map<String, String> collectionProperties = ...;
assertNotNull(cluster.createCollection(COLLECTION_NAME, numShards,
repFactor,
configName, null, null,
collectionProperties));
{code}
{panel}
was:
I haven't been able to make sense of this yet, but what i'm seeing in a new
SolrCloudTestCase subclass i'm writing is that the code below, which
(reasonably) attempts to create a collection immediately after configuring the
MiniSolrCloudCluster gets a "SolrServerException: No live SolrServers available
to handle this request" -- in spite of the fact, that (as far as i can tell at
first glance) MiniSolrCloudCluster's constructor is suppose to block until all
the servers are live..
{code}
configureCluster(numServers)
.addConfig(configName, configDir.toPath())
.configure();
Map<String, String> collectionProperties = ...;
assertNotNull(cluster.createCollection(COLLECTION_NAME, numShards,
repFactor,
configName, null, null,
collectionProperties));
{code}
Component/s: (was: Tests)
Summary: /live_nodes is populated too early to be very useful for
clients -- CloudSolrClient (and MiniSolrCloudCluster.createCollection) need
some other ephemeral zk node to knowwhich servers are "ready" (was:
MiniSolrCloudCluster.createCollection can complain there are no live servers
immediately after construction)
> /live_nodes is populated too early to be very useful for clients --
> CloudSolrClient (and MiniSolrCloudCluster.createCollection) need some other
> ephemeral zk node to knowwhich servers are "ready"
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: SOLR-8862
> URL: https://issues.apache.org/jira/browse/SOLR-8862
> Project: Solr
> Issue Type: Bug
> Reporter: Hoss Man
>
> {{/live_nodes}} is populated surprisingly early (and multiple times) in the
> life cycle of a sole node startup, and as a result probably shouldn't be used
> by {{CloudSolrClient}} (or other "smart" clients) for deciding what servers
> are fair game for requests.
> we should either fix {{/live_nodes}} to be created later in the lifecycle, or
> add some new ZK node for this purpose.
> {panel:title=original bug report}
> I haven't been able to make sense of this yet, but what i'm seeing in a new
> SolrCloudTestCase subclass i'm writing is that the code below, which
> (reasonably) attempts to create a collection immediately after configuring
> the MiniSolrCloudCluster gets a "SolrServerException: No live SolrServers
> available to handle this request" -- in spite of the fact, that (as far as i
> can tell at first glance) MiniSolrCloudCluster's constructor is suppose to
> block until all the servers are live..
> {code}
> configureCluster(numServers)
> .addConfig(configName, configDir.toPath())
> .configure();
> Map<String, String> collectionProperties = ...;
> assertNotNull(cluster.createCollection(COLLECTION_NAME, numShards,
> repFactor,
> configName, null, null,
> collectionProperties));
> {code}
> {panel}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]