You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Tsz Wo Nicholas Sze (JIRA)" <ji...@apache.org> on 2018/02/06 00:51:00 UTC

[jira] [Comment Edited] (RATIS-201) RaftBasicTests.testWithLoad should use RaftTestUtil.waitForLeader instead of cluster.getLeader()

    [ https://issues.apache.org/jira/browse/RATIS-201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16353159#comment-16353159 ] 

Tsz Wo Nicholas Sze edited comment on RATIS-201 at 2/6/18 12:50 AM:
--------------------------------------------------------------------

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.)

testWithLoad may fail with NullPointerException after the patch: 
https://builds.apache.org/job/PreCommit-RATIS-Build/124/testReport/org.apache.ratis.server.simulation/TestRaftWithSimulatedRpc/testWithLoad/


was (Author: szetszwo):
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)