Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[mini-cluster] fix GetLeaderMasterIndex()
Prior to this patch, when running external mini-cluster in BindMode::UNIQUE_LOOPBACK mode, in rare cases masters might be bound to the same port number at different loopback IP addresses. In such cases, GetLeaderMasterIndex() might return incorrect results. I saw a manifestation of such an issue with failure of the MultiMasterIdleConnectionsITest.ClientReacquiresAuthnToken scenario at http://dist-test.cloudera.org/job?job_id=jenkins-slave.1592866280.18987 I think in that run the leader master index was detected as 0 (due to the issue this patch fixes), but in reality the index was 1, so all the attempts to start an election with current leader master didn't change the leadership role, where the leader master output messages like the following for every RunLeaderElectionRequest() call: I0622 22:58:08.909113 20844 raft_consensus.cc:461] T 00000000000000000000000000000000 P d31fb2325643457e8787dc92f8c3a4cf [term 1 LEADER]: Not starting forced leader election -- already a leader src/kudu/integration-tests/auth_token_expire-itest.cc:587: Failure Eventually, the test failed with the message: Expected: (former_leader_master_idx) != (idx), actual: 1 vs 1 Change-Id: I3f445e587fe2152efbb67e4a36d36c760b486dac Reviewed-on: http://gerrit.cloudera.org:8080/16106 Tested-by: Alexey Serbin <[email protected]> Reviewed-by: Alexey Serbin <[email protected]>
- Loading branch information