Description
Sometimes overseer_elect/collection_shard_leader_elect election path will appear multiple same node different sessionid ephemeral nodes.
ex.
92427566579253248-core_node1-n_0000000032
92427566579253249-core_node1-n_0000000033
I can't trace what it happen. But if that, the result will be the new register node can't be elect the leader, we also know the old sessionid ephemeral node is invalid, but don't know why it is exist.
And the other issue :
joinElection method:
try
catch (ConnectionLossException e) {
// we don't know if we made our node or not...
List<String> entries = zkClient.getChildren(shardsElectZkPath, null, true);
boolean foundId = false;
for (String entry : entries) {
String nodeId = getNodeId(entry);
if (id.equals(nodeId))
}
if (!foundId) {
cont = true;
if (tries++ > 20)
try
{ Thread.sleep(50); }catch (InterruptedException e2)
{ Thread.currentThread().interrupt(); }}
}
If meet the ConnectionLossException status, maybe will double create the ephemeral sequential node.
For my suggestion, can't trace why create the two ephemeral nodes for the same server, but can protect it.
Attachments
Attachments
Issue Links
- duplicates
-
SOLR-8697 Fix LeaderElector issues
- Resolved