Details
-
Bug
-
Status: Open
-
Critical
-
Resolution: Unresolved
-
4.10, 6.0
-
None
-
None
Description
This is what's causing test hangs (at least on FreeBSD, LUCENE-5786), possibly on other machines too. The problem is stack overflow from looped calls in:
> org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:221) > org.apache.solr.cloud.ShardLeaderElectionContext.rejoinLeaderElection(ElectionContext.java:448) > org.apache.solr.cloud.ShardLeaderElectionContext.runLeaderProcess(ElectionContext.java:212) > org.apache.solr.cloud.LeaderElector.runIamLeaderProcess(LeaderElector.java:163) > org.apache.solr.cloud.LeaderElector.checkIfIamLeader(LeaderElector.java:125) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:313) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:221) > org.apache.solr.cloud.ShardLeaderElectionContext.rejoinLeaderElection(ElectionContext.java:448) > org.apache.solr.cloud.ShardLeaderElectionContext.runLeaderProcess(ElectionContext.java:212) > org.apache.solr.cloud.LeaderElector.runIamLeaderProcess(LeaderElector.java:163) > org.apache.solr.cloud.LeaderElector.checkIfIamLeader(LeaderElector.java:125) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:313) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:221) > org.apache.solr.cloud.ShardLeaderElectionContext.rejoinLeaderElection(ElectionContext.java:448) > org.apache.solr.cloud.ShardLeaderElectionContext.runLeaderProcess(ElectionContext.java:212) > org.apache.solr.cloud.LeaderElector.runIamLeaderProcess(LeaderElector.java:163) > org.apache.solr.cloud.LeaderElector.checkIfIamLeader(LeaderElector.java:125) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:313) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:221) > org.apache.solr.cloud.ShardLeaderElectionContext.rejoinLeaderElection(ElectionContext.java:448) > org.apache.solr.cloud.ShardLeaderElectionContext.runLeaderProcess(ElectionContext.java:212) > org.apache.solr.cloud.LeaderElector.runIamLeaderProcess(LeaderElector.java:163) > org.apache.solr.cloud.LeaderElector.checkIfIamLeader(LeaderElector.java:125) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:313) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:221) > org.apache.solr.cloud.ShardLeaderElectionContext.rejoinLeaderElection(ElectionContext.java:448) > org.apache.solr.cloud.ShardLeaderElectionContext.runLeaderProcess(ElectionContext.java:212) > org.apache.solr.cloud.LeaderElector.runIamLeaderProcess(LeaderElector.java:163) > org.apache.solr.cloud.LeaderElector.checkIfIamLeader(LeaderElector.java:125) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:313) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:221) > org.apache.solr.cloud.ShardLeaderElectionContext.rejoinLeaderElection(ElectionContext.java:448) > org.apache.solr.cloud.ShardLeaderElectionContext.runLeaderProcess(ElectionContext.java:212) > org.apache.solr.cloud.LeaderElector.runIamLeaderProcess(LeaderElector.java:163) > org.apache.solr.cloud.LeaderElector.checkIfIamLeader(LeaderElector.java:125) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:313) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:221) > org.apache.solr.cloud.ShardLeaderElectionContext.rejoinLeaderElection(ElectionContext.java:448) > org.apache.solr.cloud.ShardLeaderElectionContext.runLeaderProcess(ElectionContext.java:212) > org.apache.solr.cloud.LeaderElector.runIamLeaderProcess(LeaderElector.java:163) > org.apache.solr.cloud.LeaderElector.checkIfIamLeader(LeaderElector.java:125) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:313) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:221) > org.apache.solr.cloud.ShardLeaderElectionContext.rejoinLeaderElection(ElectionContext.java:448) > org.apache.solr.cloud.ShardLeaderElectionContext.runLeaderProcess(ElectionContext.java:212) > org.apache.solr.cloud.LeaderElector.runIamLeaderProcess(LeaderElector.java:163) > org.apache.solr.cloud.LeaderElector.checkIfIamLeader(LeaderElector.java:125) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:313) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:221) > org.apache.solr.cloud.ShardLeaderElectionContext.rejoinLeaderElection(ElectionContext.java:448) > org.apache.solr.cloud.ShardLeaderElectionContext.runLeaderProcess(ElectionContext.java:212) > org.apache.solr.cloud.LeaderElector.runIamLeaderProcess(LeaderElector.java:163) > org.apache.solr.cloud.LeaderElector.checkIfIamLeader(LeaderElector.java:125) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:313) > org.apache.solr.cloud.LeaderElector.joinElection(LeaderElector.java:221) > org.apache.solr.cloud.ShardLeaderElectionContext.rejoinLeaderElection(ElectionContext.java:448)
These routines attempt to log information to loggers, which in turn attempts to serialize messages back to the master (test process). When the stack is exhausted the serialization process fails and breaks the communication with the master test node.