[jira] [Commented] (RATIS-201) MiniRaftCluster#getLeader may incorrectly throw IllegalStateException

2018-02-05 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on RATIS-201:
-

| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  1m 
13s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
0s{color} | {color:blue} Findbugs executables are not available. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
 5s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
45s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
14s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
29s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
56s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
46s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
46s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
13s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
29s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 11m 
50s{color} | {color:green} root in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
 8s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 18m 19s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/ratis:date2018-02-05 
|
| JIRA Issue | RATIS-201 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12908808/RATIS-201.001.patch |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  checkstyle  
compile  |
| uname | Linux 6bc767225e9c 3.13.0-135-generic #184-Ubuntu SMP Wed Oct 18 
11:55:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-RATIS-Build/yetus-personality.sh
 |
| git revision | master / 2d53656 |
| Default Java | 1.8.0_151 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-RATIS-Build/121/testReport/ |
| modules | C: ratis-server U: ratis-server |
| Console output | 
https://builds.apache.org/job/PreCommit-RATIS-Build/121/console |
| Powered by | Apache Yetus 0.5.0   http://yetus.apache.org |


This message was automatically generated.



> MiniRaftCluster#getLeader may incorrectly throw IllegalStateException
> -
>
> Key: RATIS-201
> URL: https://issues.apache.org/jira/browse/RATIS-201
> Project: Ratis
>  Issue Type: Bug
>Reporter: Lokesh Jain
>Assignee: Lokesh Jain
>Priority: Major
> 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)


[jira] [Commented] (RATIS-201) MiniRaftCluster#getLeader may incorrectly throw IllegalStateException

2018-02-05 Thread Lokesh Jain (JIRA)

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

Lokesh Jain commented on RATIS-201:
---

Yes, sorry my bad.

> MiniRaftCluster#getLeader may incorrectly throw IllegalStateException
> -
>
> Key: RATIS-201
> URL: https://issues.apache.org/jira/browse/RATIS-201
> Project: Ratis
>  Issue Type: Bug
>Reporter: Lokesh Jain
>Assignee: Lokesh Jain
>Priority: Major
> Attachments: RATIS-201.001.patch, RATIS-201.002.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)


[jira] [Commented] (RATIS-201) MiniRaftCluster#getLeader may incorrectly throw IllegalStateException

2018-02-05 Thread Tsz Wo Nicholas Sze (JIRA)

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

Tsz Wo Nicholas Sze commented on RATIS-201:
---

Thanks, Lokesh.  For testWithLoad, should we pass true for 
tolerateMultipleLeaders?  The default is false.
{code}
+  RaftServerImpl leader = waitForLeader(cluster, true);
{code}

> MiniRaftCluster#getLeader may incorrectly throw IllegalStateException
> -
>
> Key: RATIS-201
> URL: https://issues.apache.org/jira/browse/RATIS-201
> Project: Ratis
>  Issue Type: Bug
>Reporter: Lokesh Jain
>Assignee: Lokesh Jain
>Priority: Major
> Attachments: RATIS-201.001.patch, RATIS-201.002.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)


[jira] [Commented] (RATIS-201) MiniRaftCluster#getLeader may incorrectly throw IllegalStateException

2018-02-05 Thread Lokesh Jain (JIRA)

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

Lokesh Jain commented on RATIS-201:
---

I saw the IllegalStateException when I was working on TestRaftAsyncWithGrpc. 
The error was thrown by RaftBasicTests#testWithLoad:349. The possible reason is 
that there is a background task running which restarted the leader and 
meanwhile getLeader could be called by testWithLoad which could lead to the 
error. I haven't seen the error now though.
I have added a patch with the corresponding change.

> MiniRaftCluster#getLeader may incorrectly throw IllegalStateException
> -
>
> Key: RATIS-201
> URL: https://issues.apache.org/jira/browse/RATIS-201
> Project: Ratis
>  Issue Type: Bug
>Reporter: Lokesh Jain
>Assignee: Lokesh Jain
>Priority: Major
> Attachments: RATIS-201.001.patch, RATIS-201.002.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)


[jira] [Commented] (RATIS-201) MiniRaftCluster#getLeader may incorrectly throw IllegalStateException

2018-02-02 Thread Tsz Wo Nicholas Sze (JIRA)

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

Tsz Wo Nicholas Sze commented on RATIS-201:
---

Hi Lokesh, the RaftTestUtil.waitForLeader(..) methods (with 
tolerateMultipleLeaders == true) already taking care the multiple leader case.  
The idea is that MiniRaftCluster.getLeader does not wait (just return or throw 
an exception) and RaftTestUtil.waitForLeader may wait for some time.

Do you see any particular tests need to change from MiniRaftCluster.getLeader 
to RaftTestUtil.waitForLeader?

> MiniRaftCluster#getLeader may incorrectly throw IllegalStateException
> -
>
> Key: RATIS-201
> URL: https://issues.apache.org/jira/browse/RATIS-201
> Project: Ratis
>  Issue Type: Bug
>Reporter: Lokesh Jain
>Assignee: Lokesh Jain
>Priority: Major
> Attachments: RATIS-201.001.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)


[jira] [Commented] (RATIS-201) MiniRaftCluster#getLeader may incorrectly throw IllegalStateException

2018-02-01 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on RATIS-201:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  1m 
36s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
0s{color} | {color:blue} Findbugs executables are not available. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  3m 
17s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
43s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
20s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
38s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
54s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
43s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
43s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
13s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
30s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}  6m 29s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
11s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 15m 43s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | ratis.server.impl.TestRaftServerJmx |
|   | ratis.server.simulation.TestReinitializationWithSimulatedRpc |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/ratis:date2018-02-01 
|
| JIRA Issue | RATIS-201 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12908808/RATIS-201.001.patch |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  checkstyle  
compile  |
| uname | Linux d08ff9017fa6 4.4.0-43-generic #63-Ubuntu SMP Wed Oct 12 
13:48:03 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-RATIS-Build/yetus-personality.sh
 |
| git revision | master / 1beef87 |
| Default Java | 1.8.0_151 |
| unit | 
https://builds.apache.org/job/PreCommit-RATIS-Build/118/artifact/out/patch-unit-root.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-RATIS-Build/118/testReport/ |
| modules | C: ratis-server U: ratis-server |
| Console output | 
https://builds.apache.org/job/PreCommit-RATIS-Build/118/console |
| Powered by | Apache Yetus 0.5.0   http://yetus.apache.org |


This message was automatically generated.



> MiniRaftCluster#getLeader may incorrectly throw IllegalStateException
> -
>
> Key: RATIS-201
> URL: https://issues.apache.org/jira/browse/RATIS-201
> Project: Ratis
>  Issue Type: Bug
>Reporter: Lokesh Jain
>Assignee: Lokesh Jain
>Priority: Major
> Attachments: RATIS-201.001.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)