Per Steffensen created SOLR-3785:
------------------------------------
Summary: Cluster-state inconsistent
Key: SOLR-3785
URL: https://issues.apache.org/jira/browse/SOLR-3785
Project: Solr
Issue Type: Bug
Components: SolrCloud
Affects Versions: 4.0
Environment: Self-build Solr release built on Apache Solr revision
1355667 from 4.x branch
Reporter: Per Steffensen
Information in CloudSolrServer.getZkStateReader().getCloudState() (called
cloudState below) seems to be inconsistent.
I have a Solr running the leader of slice "sliceName" in collection
"collectionName" - no replica to take over. I shut down this Solr, and I want
to detect that there is now no leader active.
I do e.g.
{code}
ZkNodeProps leader = cloudState.getLeader(indexName, sliceName);
boolean notActive = (leader == null) ||
!leader.containsKey(ZkStateReader.STATE_PROP) ||
!leader.get(ZkStateReader.STATE_PROP).equals(ZkStateReader.ACTIVE);
{code}
This does not work. It seems like changing state of a shard does it not changed
when this Solr goes down.
I do e.g.
{code}
ZkNodeProps leader = cloudState.getLeader(indexName, sliceName);
boolean notActive = (leader == null) ||
!leader.containsKey(ZkStateReader.STATE_PROP) ||
!leader.get(ZkStateReader.STATE_PROP).equals(ZkStateReader.ACTIVE) ||
!leader.containsKey(ZkStateReader.NODE_NAME_PROP) ||
!cloudState.getLiveNodes().contains(leader.get(ZkStateReader.NODE_NAME_PROP))
{code}
Whis works.
It seems like live-nodes of cloudState is updated when Solr goes down, but that
some of the other info available through cloudState is not - e.g. getLeader().
This might already have already been solved on 4.x branch in a revision later
than 1355667. Then please just tell me - thanks.
Regards, Per Steffensen
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]