You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Hoss Man (JIRA)" <ji...@apache.org> on 2016/03/17 20:22:33 UTC
[jira] [Updated] (SOLR-8862) /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"
[ 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org