[
https://issues.apache.org/jira/browse/RATIS-201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tsz Wo Nicholas Sze reopened RATIS-201:
---------------------------------------
Just find that the waitForLeader change breaks some tests (e.g.
TestRetryCacheWithSimulatedRpc#testRetryOnNewLeader) since they expect
waitForLeader to first sleep (so that the cluster will change leader.)
> RaftBasicTests.testWithLoad should use RaftTestUtil.waitForLeader instead of
> cluster.getLeader()
> ------------------------------------------------------------------------------------------------
>
> Key: RATIS-201
> URL: https://issues.apache.org/jira/browse/RATIS-201
> Project: Ratis
> Issue Type: Bug
> Reporter: Lokesh Jain
> Assignee: Lokesh Jain
> Priority: Minor
> Fix For: 0.2.0-alpha
>
> Attachments: RATIS-201.001.patch, RATIS-201.002.patch,
> RATIS-201.003.patch
>
>
> It can be possible for more than one server to have their role set as LEADER
> in a ratis ring. There can be a race condition where term of a follower is
> updated but its role is not yet updated to FOLLOWER. In such a scenario
> MiniRaftCluster#getLeader would throw IllegalStateException.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)