[jira] [Updated] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-352:
--
Attachment: (was: r352_20181023b.patch)

> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181024.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-352:
--
Attachment: r352_20181024.patch

> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181024.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


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

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

r352_20181024.patch: fixes some tests depending on log index.


> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181024.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on RATIS-352:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
18s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
2s{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 16 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
20s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
23s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  
4s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
33s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
40s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m  
6s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
51s{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} cc {color} | {color:green}  0m 
46s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red}  0m 46s{color} 
| {color:red} root generated 1 new + 99 unchanged - 0 fixed = 100 total (was 
99) {color} |
| {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange}  
0m 30s{color} | {color:orange} root: The patch generated 65 new + 1139 
unchanged - 48 fixed = 1204 total (was 1187) {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 
36s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}  9m  0s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
 7s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 16m 29s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | ratis.TestRaftServerSlownessDetection |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/ratis:date2018-10-24 
|
| JIRA Issue | RATIS-352 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12945352/r352_20181024.patch |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  checkstyle  
compile  cc  |
| uname | Linux 5b371e9d417b 3.13.0-143-generic #192-Ubuntu SMP Tue Feb 27 
10:45:36 UTC 2018 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 / 2272086 |
| Default Java | 1.8.0_181 |
| javac | 
https://builds.apache.org/job/PreCommit-RATIS-Build/450/artifact/out/diff-compile-javac-root.txt
 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-RATIS-Build/450/artifact/out/diff-checkstyle-root.txt
 |
| unit | 
https://builds.apache.org/job/PreCommit-RATIS-Build/450/artifact/out/patch-unit-root.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-RATIS-Build/450/testReport/ |
| modules | C: ratis-proto ratis-server ratis-grpc ratis-netty ratis-examples 
U: . |
| Console output | 
https://builds.apache.org/job/PreCommit-RATIS-Build/450/console |
| Powered by | Apache Yetus 0.5.0   http://yetus.apache.org |


This message was automatically generated.



> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
>  

[jira] [Commented] (RATIS-369) LogService read/write path (phase 2: more UTs, etc)

2018-10-24 Thread Sergey Soldatov (JIRA)


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

Sergey Soldatov commented on RATIS-369:
---

Why do we need the snapshot support? In theory, that would purge the log cache 
as well as the log itself and that's definitely not the thing we want. 
Another thing that we need to think about is the ratis client retries. If the 
execution of the query takes longer than 3 seconds it would send the same query 
again.

> LogService read/write path (phase 2: more UTs, etc)
> ---
>
> Key: RATIS-369
> URL: https://issues.apache.org/jira/browse/RATIS-369
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>Priority: Major
> Attachments: RATIS-369-v1.patch
>
>
> Polish implementation, implement some missing features, add more UTs



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Jitendra Nath Pandey (JIRA)


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

Jitendra Nath Pandey commented on RATIS-352:


+1 for the latest patch.

> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181024.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on RATIS-352:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
29s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
5s{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 16 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  1m 
34s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  2m 
 3s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
44s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
30s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
39s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m  
5s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
48s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
44s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  0m 
44s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red}  0m 44s{color} 
| {color:red} root generated 1 new + 99 unchanged - 0 fixed = 100 total (was 
99) {color} |
| {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange}  
0m 26s{color} | {color:orange} root: The patch generated 65 new + 1140 
unchanged - 48 fixed = 1205 total (was 1188) {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 
27s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 23m 32s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
22s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 32m 38s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | ratis.server.TestRaftLogMetrics |
|   | ratis.server.simulation.TestServerRestartWithSimulatedRpc |
|   | ratis.server.simulation.TestServerInformationWithSimulatedRpc |
|   | ratis.server.simulation.TestRaftExceptionWithSimulation |
|   | ratis.server.simulation.TestRaftReconfigurationWithSimulatedRpc |
|   | ratis.server.simulation.TestRaftStateMachineExceptionWithSimulatedRpc |
|   | ratis.TestRaftServerSlownessDetection |
|   | ratis.server.simulation.TestRaftSnapshotWithSimulatedRpc |
|   | ratis.server.simulation.TestRaftWithSimulatedRpc |
|   | ratis.TestRaftServerLeaderElectionTimeout |
|   | ratis.server.simulation.TestLeaderElectionWithSimulatedRpc |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/ratis:date2018-10-24 
|
| JIRA Issue | RATIS-352 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12945352/r352_20181024.patch |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  checkstyle  
compile  cc  |
| uname | Linux 30bfe3fa5051 4.4.0-133-generic #159-Ubuntu SMP Fri Aug 10 
07:31:43 UTC 2018 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 / 2272086 |
| Default Java | 1.8.0_181 |
| javac | 
https://builds.apache.org/job/PreCommit-RATIS-Build/451/artifact/out/diff-compile-javac-root.txt
 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-RATIS-Build

[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on RATIS-352:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
14s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
1s{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 16 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
17s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
 6s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
56s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
35s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
40s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m  
7s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
 4s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
53s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  0m 
53s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red}  0m 53s{color} 
| {color:red} root generated 1 new + 99 unchanged - 0 fixed = 100 total (was 
99) {color} |
| {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange}  
0m 33s{color} | {color:orange} root: The patch generated 65 new + 1140 
unchanged - 48 fixed = 1205 total (was 1188) {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 
33s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}  7m 31s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
10s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 14m 54s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | ratis.TestRaftServerSlownessDetection |
|   | ratis.TestRaftServerLeaderElectionTimeout |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/ratis:date2018-10-24 
|
| JIRA Issue | RATIS-352 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12945352/r352_20181024.patch |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  checkstyle  
compile  cc  |
| uname | Linux b47dbec0847f 3.13.0-153-generic #203-Ubuntu SMP Thu Jun 14 
08:52:28 UTC 2018 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 / 2272086 |
| Default Java | 1.8.0_181 |
| javac | 
https://builds.apache.org/job/PreCommit-RATIS-Build/452/artifact/out/diff-compile-javac-root.txt
 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-RATIS-Build/452/artifact/out/diff-checkstyle-root.txt
 |
| unit | 
https://builds.apache.org/job/PreCommit-RATIS-Build/452/artifact/out/patch-unit-root.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-RATIS-Build/452/testReport/ |
| modules | C: ratis-proto ratis-server ratis-grpc ratis-netty ratis-examples 
U: . |
| Console output | 
https://builds.apache.org/job/PreCommit-RATIS-Build/452/console |
| Powered by | Apache Yetus 0.5.0   http://yetus.apache.org |


This message was automatically generated.



> Persist commit index in Raft log.
> --

[jira] [Created] (RATIS-370) TestRaftServerSlownessDetection keep failing

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-370:
-

 Summary: TestRaftServerSlownessDetection keep failing
 Key: RATIS-370
 URL: https://issues.apache.org/jira/browse/RATIS-370
 Project: Ratis
  Issue Type: Bug
  Components: server, test
Reporter: Tsz Wo Nicholas Sze


TestRaftServerSlownessDetection failure keep showing up in QA reports.  In my 
machine, it also fails every few runs.

BTW, TestRaftServerSlownessDetection only check simulated rpc.  The gRPC 
implementation is never tested.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on RATIS-352:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
18s{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 16 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m  
5s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
46s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
42s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
30s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
28s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m  
4s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
46s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
41s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  0m 
41s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red}  0m 41s{color} 
| {color:red} root generated 1 new + 99 unchanged - 0 fixed = 100 total (was 
99) {color} |
| {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange}  
0m 30s{color} | {color:orange} root: The patch generated 65 new + 1139 
unchanged - 48 fixed = 1204 total (was 1187) {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 
28s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 18m 41s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
 6s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 24m 20s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | 
ratis.server.simulation.TestRaftReconfigurationWithSimulatedRpc |
|   | ratis.server.simulation.TestServerRestartWithSimulatedRpc |
|   | ratis.TestRaftServerLeaderElectionTimeout |
|   | ratis.server.simulation.TestRaftStateMachineExceptionWithSimulatedRpc |
|   | ratis.TestRaftServerSlownessDetection |
|   | ratis.server.simulation.TestRaftWithSimulatedRpc |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/ratis:date2018-10-24 
|
| JIRA Issue | RATIS-352 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12945352/r352_20181024.patch |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  checkstyle  
compile  cc  |
| uname | Linux 6d92f2b8bb57 3.13.0-153-generic #203-Ubuntu SMP Thu Jun 14 
08:52:28 UTC 2018 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 / 2272086 |
| Default Java | 1.8.0_181 |
| javac | 
https://builds.apache.org/job/PreCommit-RATIS-Build/454/artifact/out/diff-compile-javac-root.txt
 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-RATIS-Build/454/artifact/out/diff-checkstyle-root.txt
 |
| unit | 
https://builds.apache.org/job/PreCommit-RATIS-Build/454/artifact/out/patch-unit-root.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-RATIS-Build/454/testReport/ |
| modules | C: ratis-proto ratis-server ratis-grpc ratis-netty rati

[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on RATIS-352:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
23s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
3s{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 16 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  1m 
36s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  2m 
16s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
53s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
42s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
44s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m  
6s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
57s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
49s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  0m 
49s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red}  0m 49s{color} 
| {color:red} root generated 1 new + 99 unchanged - 0 fixed = 100 total (was 
99) {color} |
| {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange}  
0m 35s{color} | {color:orange} root: The patch generated 65 new + 1139 
unchanged - 48 fixed = 1204 total (was 1187) {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 
32s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 22m 20s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
17s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 32m 30s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | ratis.server.simulation.TestRaftWithSimulatedRpc |
|   | ratis.TestRaftServerLeaderElectionTimeout |
|   | ratis.server.simulation.TestRaftStateMachineExceptionWithSimulatedRpc |
|   | ratis.server.simulation.TestServerRestartWithSimulatedRpc |
|   | ratis.server.simulation.TestRaftReconfigurationWithSimulatedRpc |
|   | ratis.server.TestRaftLogMetrics |
|   | ratis.server.simulation.TestLeaderElectionWithSimulatedRpc |
|   | ratis.TestRaftServerSlownessDetection |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/ratis:date2018-10-24 
|
| JIRA Issue | RATIS-352 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12945352/r352_20181024.patch |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  checkstyle  
compile  cc  |
| uname | Linux b4efb8ca72c0 3.13.0-153-generic #203-Ubuntu SMP Thu Jun 14 
08:52:28 UTC 2018 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 / 2272086 |
| Default Java | 1.8.0_181 |
| javac | 
https://builds.apache.org/job/PreCommit-RATIS-Build/453/artifact/out/diff-compile-javac-root.txt
 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-RATIS-Build/453/artifact/out/diff-checkstyle-root.txt
 |
| unit | 
https://builds.apache.org/job/PreCommit-RATIS-Build/453/artifact/out/patch-unit-root.txt
 |
|  Test Results | 
https://builds.apache.org/job/P

[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


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

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

Thanks [~jnp] for reviewing the patch.

Since this feature add Metadata entries to the Raft log, the tests expecting 
consecutive log index fail intermittently.  It seems better to first fix the 
tests (so that they won't depends on consecutive log index) and then commit 
this patch.  Let me file a JIRA.

> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181024.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (RATIS-371) Change tests so that they do not depend on consecutive log indices

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-371:
-

 Summary: Change tests so that they do not depend on consecutive 
log indices
 Key: RATIS-371
 URL: https://issues.apache.org/jira/browse/RATIS-371
 Project: Ratis
  Issue Type: Improvement
  Components: test
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


RATIS-352 tries to add metadata entries to the raft log.  However, there are 
tests expecting consecutive log indices so that they fail intermittently.  This 
JIRA is to fix the (most of) tests so that they won't depends on consecutive 
log indices.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-371) Change tests so that they do not depend on consecutive log indices

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


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

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

r371_20181024.patch: split the test change from the patch in RATIS-352.

> Change tests so that they do not depend on consecutive log indices
> --
>
> Key: RATIS-371
> URL: https://issues.apache.org/jira/browse/RATIS-371
> Project: Ratis
>  Issue Type: Improvement
>  Components: test
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r371_20181024.patch
>
>
> RATIS-352 tries to add metadata entries to the raft log.  However, there are 
> tests expecting consecutive log indices so that they fail intermittently.  
> This JIRA is to fix the (most of) tests so that they won't depends on 
> consecutive log indices.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (RATIS-371) Change tests so that they do not depend on consecutive log indices

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-371:
--
Attachment: r371_20181024.patch

> Change tests so that they do not depend on consecutive log indices
> --
>
> Key: RATIS-371
> URL: https://issues.apache.org/jira/browse/RATIS-371
> Project: Ratis
>  Issue Type: Improvement
>  Components: test
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r371_20181024.patch
>
>
> RATIS-352 tries to add metadata entries to the raft log.  However, there are 
> tests expecting consecutive log indices so that they fail intermittently.  
> This JIRA is to fix the (most of) tests so that they won't depends on 
> consecutive log indices.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


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

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

Filed RATIS-371.

> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181024.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-371) Change tests so that they do not depend on consecutive log indices

2018-10-24 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on RATIS-371:
-

| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
11s{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 18 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
12s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
54s{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 
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:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m  
5s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
58s{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} 24m 
58s{color} | {color:green} root in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
10s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 30m 33s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/ratis:date2018-10-24 
|
| JIRA Issue | RATIS-371 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12945416/r371_20181024.patch |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  checkstyle  
compile  |
| uname | Linux 4c61a395012a 3.13.0-153-generic #203-Ubuntu SMP Thu Jun 14 
08:52:28 UTC 2018 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 / 2272086 |
| Default Java | 1.8.0_181 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-RATIS-Build/455/testReport/ |
| modules | C: ratis-server ratis-grpc ratis-netty ratis-examples U: . |
| Console output | 
https://builds.apache.org/job/PreCommit-RATIS-Build/455/console |
| Powered by | Apache Yetus 0.5.0   http://yetus.apache.org |


This message was automatically generated.



> Change tests so that they do not depend on consecutive log indices
> --
>
> Key: RATIS-371
> URL: https://issues.apache.org/jira/browse/RATIS-371
> Project: Ratis
>  Issue Type: Improvement
>  Components: test
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r371_20181024.patch
>
>
> RATIS-352 tries to add metadata entries to the raft log.  However, there are 
> tests expecting consecutive log indices so that they fail intermittently.  
> This JIRA is to fix the (most of) tests so that they won't depends on 
> consecutive log indices.



--
This message wa

[jira] [Updated] (RATIS-334) Implement server membership for LogService Metadata Service

2018-10-24 Thread Josh Elser (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser updated RATIS-334:
-
Component/s: LogService

> Implement server membership for LogService Metadata Service
> ---
>
> Key: RATIS-334
> URL: https://issues.apache.org/jira/browse/RATIS-334
> Project: Ratis
>  Issue Type: Sub-task
>  Components: LogService
>Reporter: Josh Elser
>Assignee: Sergey Soldatov
>Priority: Major
> Attachments: RATIS-334-v1.patch, RATIS-334-v3.patch, 
> RATIS-334-wip.patch
>
>
> Half of the Metadata Service for managing LogStreams.
> RATIS-279 is handling the "DDL" operations, and Rajesh suggested that we spin 
> out management of the servers which are available to back these LogStreams in 
> a second task. This is it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-334) Implement server membership for LogService Metadata Service

2018-10-24 Thread Josh Elser (JIRA)


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

Josh Elser commented on RATIS-334:
--

{code:java}
+public class LogInfo {
{code}
{{equals(Object)}}, {{toString()}}, and {{hashCode()}}?
{code:java}
+    System.out.println("!!!");
{code}
;) should we just have an exception thrown here to prevent the "unhandled 
message" case?
{code:java}
-    case CREATELOG:
-  return processCreateLogRequest(logServiceRequestProto);
-    case ARCHIVELOG:
-  return processArchiveLog(logServiceRequestProto);
+//    case CREATELOG:
+//  return processCreateLogRequest(logServiceRequestProto);
+//    case ARCHIVELOG:
+//  return processArchiveLog(logServiceRequestProto);
{code}
Just remove these from LogStateMachine instead of commenting out? Same in 
{{LogServiceImpl}}.
{code:java}
+    return 
LogServiceFactory.getInstance().createLogService(getRaftClient(info), null);
{code}
I know you're planning on work around this, but consolidate calls to 
{{LogServiceFactory.getInstance()}} in the constructor of {{LogServiceClient}}? 
Ignore if you're already re-working it.
{code:java}
public class NoEnoughWorkersException{code}
s/No/Not/ ? Also in the error message.
{code:java}
+    try {
+  reply = raftClient.sendAsync(Message.valueOf(LogServiceProtoUtil
+  .toAppendBBEntryLogRequestProto(parent.getName(), list)
+  .toByteString())).get();
+    } catch (InterruptedException e) {
+  e.printStackTrace();
+    } catch (ExecutionException e) {
+  e.printStackTrace();
+    }{code}
Re-set the interrupted exception and propagate for {{InterruptedException}}. 
Unwrap and re-throw the {{ExecutionException}}?
{code:java}
+    @Parameter(names = "-port", description = "Port number")
+    private int port = ;
{code}
Doing some poking around here to make sure there's nothing obvious in the 
"ecosystem" that might default to using .

I'm also wondering – ideally, we can just set {{0}} and let the service pick an 
ephemeral port. I guess that would require the service to register itself 
somewhere for us to find it? You have an idea about how that should work?
{code:java}
+    if (host == null) {
+    host = LogServiceUtils.getHostName();
+    }
{code}
Probably a good idea to let this be configurable too (multiple NICs with 
public/private network setups).
{code:java}
+    try {
+    req = 
MetaSMRequestProto.parseFrom(x.getStateMachineLogEntry().getLogData());
+    } catch (InvalidProtocolBufferException e) {
+    e.printStackTrace();
+    }{code}
Propagate. Here, and elsewhere in {{MetaStateMachine.}}
{code:java}
+    case UNREGISTERREQUEST:
+    LogServiceUnregisterLogRequestProto unregReq = 
req.getUnregisterRequest();
+    logname = LogServiceProtoUtil.toLogName(unregReq.getLogname());
+    map.remove(logname);
+    break;
+    case PINGREQUEST:
+    LogServicePingRequestProto pingRequest = req.getPingRequest();
+    RaftPeer peer = 
MetaServiceProtoUtil.toRaftPeer(pingRequest.getPeer());
+    if (peers.contains(peer)) {
+    //Do Nothing, that's just heartbeat
+    } else {
+    peers.add(peer);
+    avail.add(new PeerGroups(peer));
+    }
+    break;{code}
DEBUG or TRACE logging for these? Will assuredly need it later :)
{code:java}
+    if (currentGroup == null) {
+    try {
+    List x = 
StreamSupport.stream(raftServer.getGroups().spliterator(), false).filter(group 
-> group.getGroupId().equals(metaGroupID)).collect(Collectors.toList());
+    if (x.size() == 1) {
+    currentGroup = x.get(0);
+    }
+    } catch (IOException e) {
+    e.printStackTrace();
+    }
+    }{code}
This isn't threadsafe. What about making the global {{currentGroup}} some 
{{AtomicReference}} and then copy it into a local variable when you need it? 
Admittedly, I don't quite grok what this is doing yet
{code:java}
+    public static String getHostName() {
+    try (DatagramSocket socket = new DatagramSocket()) {
+    socket.connect(InetAddress.getByName("8.8.8.8"), 10002);
+    return socket.getLocalAddress().getHostName();
+    } catch (Exception e) {
+    return "localhost";
+    }{code}
Heh :), switch to {{InetAddress.getLocalHost().getHostName()}} for now. I think 
we'll have to provide the ability later on to specify hostnames for quorum 
members (same reason as above).
{code:java}
+    RaftServerConfigKeys.setStorageDirs(properties,
+    Collections.singletonList(new File("/tmp/logservice/" + 
UUID.randomUUID().toString(

[jira] [Commented] (RATIS-334) Implement server membership for LogService Metadata Service

2018-10-24 Thread Vladimir Rodionov (JIRA)


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

Vladimir Rodionov commented on RATIS-334:
-

np, I will rebase RATIS-369 on top of this.

> Implement server membership for LogService Metadata Service
> ---
>
> Key: RATIS-334
> URL: https://issues.apache.org/jira/browse/RATIS-334
> Project: Ratis
>  Issue Type: Sub-task
>  Components: LogService
>Reporter: Josh Elser
>Assignee: Sergey Soldatov
>Priority: Major
> Attachments: RATIS-334-v1.patch, RATIS-334-v3.patch, 
> RATIS-334-wip.patch
>
>
> Half of the Metadata Service for managing LogStreams.
> RATIS-279 is handling the "DDL" operations, and Rajesh suggested that we spin 
> out management of the servers which are available to back these LogStreams in 
> a second task. This is it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-371) Change tests so that they do not depend on consecutive log indices

2018-10-24 Thread Jitendra Nath Pandey (JIRA)


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

Jitendra Nath Pandey commented on RATIS-371:


Thanks for fixing these. As I understand, the logIndex is still sequential, but 
log-entries have additional metadata entries in between that add to the count.

+1 for the patch.

> Change tests so that they do not depend on consecutive log indices
> --
>
> Key: RATIS-371
> URL: https://issues.apache.org/jira/browse/RATIS-371
> Project: Ratis
>  Issue Type: Improvement
>  Components: test
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r371_20181024.patch
>
>
> RATIS-352 tries to add metadata entries to the raft log.  However, there are 
> tests expecting consecutive log indices so that they fail intermittently.  
> This JIRA is to fix the (most of) tests so that they won't depends on 
> consecutive log indices.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-334) Implement server membership for LogService Metadata Service

2018-10-24 Thread Sergey Soldatov (JIRA)


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

Sergey Soldatov commented on RATIS-334:
---

bq. equals(Object), toString(), and hashCode()?
This class is used only to pass the pair  between client 
and meta. Can add it later, but not sure what for.
bq. should we just have an exception thrown here to prevent the "unhandled 
message" case?
accidentally added that to the git :( Was trying to figure out why my test for 
read/write doesn't work (that was the problem that ratis keeps  support 
messages in the same raft log, so the first was some configuration message with 
empty body)
bq. I know you're planning on work around this, but consolidate calls to 
LogServiceFactory.getInstance() in the constructor of LogServiceClient? Ignore 
if you're already re-working it.
I don't want to instantiate LogService nor use the factory at all. My 
suggestion is to move raft client to the LogStream and instantiate the 
instances using raft group that returned by meta service. But would like to get 
an approval from [~vrodionov]
bq. Re-set the interrupted exception and propagate for InterruptedException. 
Unwrap and re-throw the ExecutionException?
Proper error handling is in my TODO list 
bq. Doing some poking around here to make sure there's nothing obvious in the 
"ecosystem" that might default to using .
That's for tests only. I was going to discuss the default ports/etc. 
bq. I'm also wondering – ideally, we can just set 0 and let the service pick an 
ephemeral port. I guess that would require the service to register itself 
somewhere for us to find it? You have an idea about how that should work?
Exactly like zk works. For masters we have to specify the quorum (list of the 
host:port pairs). Workers would register themselves in meta.
bq. This isn't threadsafe. What about making the global currentGroup some 
AtomicReference and then copy it into a local variable when you need it? 
Admittedly, I don't quite grok what this is doing yet
That was a workaround for a deadlock in ratis itself. Actually was planning to 
fix dead lock rather than keep this code :)
bq. Probably a good idea to let this be configurable too (multiple NICs with 
public/private network setups).
That's in my TODO as well ( all builder params will be configurable). 
bq. Heh , switch to InetAddress.getLocalHost().getHostName() for now. I think 
we'll have to provide the ability later on to specify hostnames for quorum 
members (same reason as above).
heh, that part has a long story :) We have the list of the quorum members, but 
for each node, we need to identify itself in this list to properly create 
RaftPeer with a public address. The idea is to have a common configuration 
without node specific elements. So that was added as a workaround to get 
everything working in real cluster scenario with fewer efforts.  I'm planning 
to enhance that with resolving quorum ips and check which belongs to the 
current node.
bq. Can we push down the log dir into LogServiceWorker? 
Of course,  that will be configurable as well as other params for the workers. 
I already mentioned that earlier in the list of things to do. 
bq.   Does it make sense to have some common configuration across the DML and 
DDL services?
well, at least meta quorum id should be common. We also may do it for working 
dir. For ports we may have some default ports for masters and workers and 
ability to specify those values in the common configuration.


 




> Implement server membership for LogService Metadata Service
> ---
>
> Key: RATIS-334
> URL: https://issues.apache.org/jira/browse/RATIS-334
> Project: Ratis
>  Issue Type: Sub-task
>  Components: LogService
>Reporter: Josh Elser
>Assignee: Sergey Soldatov
>Priority: Major
> Attachments: RATIS-334-v1.patch, RATIS-334-v3.patch, 
> RATIS-334-wip.patch
>
>
> Half of the Metadata Service for managing LogStreams.
> RATIS-279 is handling the "DDL" operations, and Rajesh suggested that we spin 
> out management of the servers which are available to back these LogStreams in 
> a second task. This is it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-334) Implement server membership for LogService Metadata Service

2018-10-24 Thread Sergey Soldatov (JIRA)


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

Sergey Soldatov commented on RATIS-334:
---

bq. Just remove these from LogStateMachine instead of commenting out?
Ah. Forgot about this one. I commented to make it easier to resolve conflicts 
during rebase and to track what exactly should be removed from the existing 
code in case if someone has objections. 

Just in case, the list of functionality/improvements I'm working on at the 
moment:
1. Restore quorum in case of node failure. When one of the nodes goes down we 
will be able to restore quorum with a new peer automatically. At the moment 
that would happen on slow node message that leader receive if one of the 
followers was unable to proceed transactions for 60 seconds (possible we need 
to adjust that default timeout for something less).
2. Experimenting with the retry policy for meta queries. The default one is 
very aggressive (resend the query if the previous call takes longer than 3 
seconds). Not sure how to better handle that. Yet.

After that, I will start working on the correctness of all responses and 
error/exception handling during internal operations.

> Implement server membership for LogService Metadata Service
> ---
>
> Key: RATIS-334
> URL: https://issues.apache.org/jira/browse/RATIS-334
> Project: Ratis
>  Issue Type: Sub-task
>  Components: LogService
>Reporter: Josh Elser
>Assignee: Sergey Soldatov
>Priority: Major
> Attachments: RATIS-334-v1.patch, RATIS-334-v3.patch, 
> RATIS-334-wip.patch
>
>
> Half of the Metadata Service for managing LogStreams.
> RATIS-279 is handling the "DDL" operations, and Rajesh suggested that we spin 
> out management of the servers which are available to back these LogStreams in 
> a second task. This is it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-334) Implement server membership for LogService Metadata Service

2018-10-24 Thread Vladimir Rodionov (JIRA)


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

Vladimir Rodionov commented on RATIS-334:
-

Someone (me or Sergey) should stop and wait until the other patch is committed. 
We have 2 conflicting patches (both will require rebasing) at the time.  

> Implement server membership for LogService Metadata Service
> ---
>
> Key: RATIS-334
> URL: https://issues.apache.org/jira/browse/RATIS-334
> Project: Ratis
>  Issue Type: Sub-task
>  Components: LogService
>Reporter: Josh Elser
>Assignee: Sergey Soldatov
>Priority: Major
> Attachments: RATIS-334-v1.patch, RATIS-334-v3.patch, 
> RATIS-334-wip.patch
>
>
> Half of the Metadata Service for managing LogStreams.
> RATIS-279 is handling the "DDL" operations, and Rajesh suggested that we spin 
> out management of the servers which are available to back these LogStreams in 
> a second task. This is it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-334) Implement server membership for LogService Metadata Service

2018-10-24 Thread Josh Elser (JIRA)


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

Josh Elser commented on RATIS-334:
--

Thanks for the quick feedback, Sergey. Let's just plan to leave the comments 
there for now to aid rebase as you say.

[~vrodionov], since you said it was OK earlier, I'll commit this one and let 
you rebase on top of it.

Let's plan to get the other things you're working on captured in Jira, Sergey.

> Implement server membership for LogService Metadata Service
> ---
>
> Key: RATIS-334
> URL: https://issues.apache.org/jira/browse/RATIS-334
> Project: Ratis
>  Issue Type: Sub-task
>  Components: LogService
>Reporter: Josh Elser
>Assignee: Sergey Soldatov
>Priority: Major
> Attachments: RATIS-334-v1.patch, RATIS-334-v3.patch, 
> RATIS-334-wip.patch
>
>
> Half of the Metadata Service for managing LogStreams.
> RATIS-279 is handling the "DDL" operations, and Rajesh suggested that we spin 
> out management of the servers which are available to back these LogStreams in 
> a second task. This is it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-371) Change tests so that they do not depend on consecutive log indices

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


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

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

[~jnp], thanks for review the patch.

> ... As I understand, the logIndex is still sequential, but log-entries have 
> additional metadata entries in between that add to the count.

Yes, that is true.  RATIS-352 will add metadata entries so that the state 
machine log entries becomes non-consecutive.  The log index is still sequential.

> Change tests so that they do not depend on consecutive log indices
> --
>
> Key: RATIS-371
> URL: https://issues.apache.org/jira/browse/RATIS-371
> Project: Ratis
>  Issue Type: Improvement
>  Components: test
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r371_20181024.patch
>
>
> RATIS-352 tries to add metadata entries to the raft log.  However, there are 
> tests expecting consecutive log indices so that they fail intermittently.  
> This JIRA is to fix the (most of) tests so that they won't depends on 
> consecutive log indices.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-334) Implement server membership for LogService Metadata Service

2018-10-24 Thread Josh Elser (JIRA)


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

Josh Elser commented on RATIS-334:
--

Had to tweak the protobuf-compiler pom stuff to account for the move (keep 
generated code out of {{src/main/java}}).

TestLogServiceWithGrpc and TestLogServiceWithNetty were failing because of a 
stubbed out implementation. Fixed those by commenting them out.

TestMetaServer is failing for me on OSX. I ran it on a linux box and I think 
Maven killed it after 10 minutes. Not sure if this is working for you, Sergey..

> Implement server membership for LogService Metadata Service
> ---
>
> Key: RATIS-334
> URL: https://issues.apache.org/jira/browse/RATIS-334
> Project: Ratis
>  Issue Type: Sub-task
>  Components: LogService
>Reporter: Josh Elser
>Assignee: Sergey Soldatov
>Priority: Major
> Attachments: RATIS-334-v1.patch, RATIS-334-v3.patch, 
> RATIS-334-wip.patch
>
>
> Half of the Metadata Service for managing LogStreams.
> RATIS-279 is handling the "DDL" operations, and Rajesh suggested that we spin 
> out management of the servers which are available to back these LogStreams in 
> a second task. This is it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (RATIS-334) Implement server membership for LogService Metadata Service

2018-10-24 Thread Josh Elser (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser resolved RATIS-334.
--
   Resolution: Fixed
Fix Version/s: 0.3.0

Thanks for the patch, [~sergey.soldatov]. This is a nice starting point. It's 
cool to see this coming together.

Please spin out follow-on Jira issues to do the cleanup mentioned in the 
code-review here.

> Implement server membership for LogService Metadata Service
> ---
>
> Key: RATIS-334
> URL: https://issues.apache.org/jira/browse/RATIS-334
> Project: Ratis
>  Issue Type: Sub-task
>  Components: LogService
>Reporter: Josh Elser
>Assignee: Sergey Soldatov
>Priority: Major
> Fix For: 0.3.0
>
> Attachments: RATIS-334-v1.patch, RATIS-334-v3.patch, 
> RATIS-334-wip.patch
>
>
> Half of the Metadata Service for managing LogStreams.
> RATIS-279 is handling the "DDL" operations, and Rajesh suggested that we spin 
> out management of the servers which are available to back these LogStreams in 
> a second task. This is it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-352:
--
Attachment: r352_20181025.patch

> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181025.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-352:
--
Attachment: (was: r352_20181024.patch)

> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181025.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


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

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

r352_20181025.patch: sync'ed after RATIS-371.

> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181025.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-369) LogService read/write path (phase 2: more UTs, etc)

2018-10-24 Thread Josh Elser (JIRA)


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

Josh Elser commented on RATIS-369:
--

[~vrodionov], you should be good to rebase this on top of Sergey's latest.

> LogService read/write path (phase 2: more UTs, etc)
> ---
>
> Key: RATIS-369
> URL: https://issues.apache.org/jira/browse/RATIS-369
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>Priority: Major
> Attachments: RATIS-369-v1.patch
>
>
> Polish implementation, implement some missing features, add more UTs



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-369) LogService read/write path (phase 2: more UTs, etc)

2018-10-24 Thread Vladimir Rodionov (JIRA)


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

Vladimir Rodionov commented on RATIS-369:
-

Hmm, this is what I usually try to avoid : working on a same (almost) code in 
parallel. Rebasing RATIS-369 on top of RATIS-334 is harder than rewriting patch 
from scratch.

> LogService read/write path (phase 2: more UTs, etc)
> ---
>
> Key: RATIS-369
> URL: https://issues.apache.org/jira/browse/RATIS-369
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>Priority: Major
> Attachments: RATIS-369-v1.patch
>
>
> Polish implementation, implement some missing features, add more UTs



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-369) LogService read/write path (phase 2: more UTs, etc)

2018-10-24 Thread Josh Elser (JIRA)


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

Josh Elser commented on RATIS-369:
--

bq. Hmm, this is what I usually try to avoid : working on a same (almost) code 
in parallel. Rebasing RATIS-369 on top of RATIS-334 is harder than rewriting 
patch from scratch.

I'm sorry, Vlad. I don't know of a better way to do this while we get it off 
the ground other than having one person do everything (which we don't have the 
time to allow). Really sorry if there's extra pain now. I hope it's brief.

Some general comments from your v1

{code:java}
+  public static enum State {
+OPEN, CLOSED, UNDEFINED
+  }{code}
What's the {{UNDEFINED}} for?
{code:java}
diff --git 
a/ratis-logservice/src/test/java/org/apache/ratis/logservice/LogServiceBaseTest.java
 
b/ratis-logservice/src/test/java/org/apache/ratis/logservice/TestLogServiceAPIBase.java
similarity index 95%
rename from 
ratis-logservice/src/test/java/org/apache/ratis/logservice/LogServiceBaseTest.java
rename to 
ratis-logservice/src/test/java/org/apache/ratis/logservice/TestLogServiceAPIBase.java
index 82553511..346bf68f 100644
--- 
a/ratis-logservice/src/test/java/org/apache/ratis/logservice/LogServiceBaseTest.java
+++ 
b/ratis-logservice/src/test/java/org/apache/ratis/logservice/TestLogServiceAPIBase.java
@@ -39,10 +39,10 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public abstract class LogServiceBaseTest
+public abstract class TestLogServiceAPIBase
 extends BaseTest
 implements MiniRaftCluster.Factory.Get {
-  public static final Logger LOG = 
LoggerFactory.getLogger(LogServiceBaseTest.class);
+  public static final Logger LOG = 
LoggerFactory.getLogger(TestLogServiceAPIBase.class);{code}
Do we want {{Test}} in the file name? We don't want to run this class directly, 
right?

> LogService read/write path (phase 2: more UTs, etc)
> ---
>
> Key: RATIS-369
> URL: https://issues.apache.org/jira/browse/RATIS-369
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>Priority: Major
> Attachments: RATIS-369-v1.patch
>
>
> Polish implementation, implement some missing features, add more UTs



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (RATIS-369) LogService read/write path (phase 2: more UTs, etc)

2018-10-24 Thread Vladimir Rodionov (JIRA)


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

Vladimir Rodionov edited comment on RATIS-369 at 10/24/18 11:37 PM:


Deleted


was (Author: vrodionov):
Hmm, this is what I usually try to avoid : working on a same (almost) code in 
parallel. Rebasing RATIS-369 on top of RATIS-334 is harder than rewriting patch 
from scratch.

> LogService read/write path (phase 2: more UTs, etc)
> ---
>
> Key: RATIS-369
> URL: https://issues.apache.org/jira/browse/RATIS-369
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>Priority: Major
> Attachments: RATIS-369-v1.patch
>
>
> Polish implementation, implement some missing features, add more UTs



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-369) LogService read/write path (phase 2: more UTs, etc)

2018-10-24 Thread Vladimir Rodionov (JIRA)


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

Vladimir Rodionov commented on RATIS-369:
-

{quote}
Do we want Test in the file name? We don't want to run this class directly, 
right?
{quote}

Yeah, will fix it.

> LogService read/write path (phase 2: more UTs, etc)
> ---
>
> Key: RATIS-369
> URL: https://issues.apache.org/jira/browse/RATIS-369
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>Priority: Major
> Attachments: RATIS-369-v1.patch
>
>
> Polish implementation, implement some missing features, add more UTs



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-369) LogService read/write path (phase 2: more UTs, etc)

2018-10-24 Thread Vladimir Rodionov (JIRA)


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

Vladimir Rodionov commented on RATIS-369:
-

{quote}
What's the UNDEFINED for?
{quote}

Binary logic meets tertiary logic :) Will remove it.

> LogService read/write path (phase 2: more UTs, etc)
> ---
>
> Key: RATIS-369
> URL: https://issues.apache.org/jira/browse/RATIS-369
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>Priority: Major
> Attachments: RATIS-369-v1.patch
>
>
> Polish implementation, implement some missing features, add more UTs



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-369) LogService read/write path (phase 2: more UTs, etc)

2018-10-24 Thread Josh Elser (JIRA)


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

Josh Elser commented on RATIS-369:
--

Hahah. Thanks Vlad! :)

> LogService read/write path (phase 2: more UTs, etc)
> ---
>
> Key: RATIS-369
> URL: https://issues.apache.org/jira/browse/RATIS-369
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>Priority: Major
> Attachments: RATIS-369-v1.patch
>
>
> Polish implementation, implement some missing features, add more UTs



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on RATIS-352:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
19s{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 5 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
14s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
54s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
44s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
31s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
32s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m  
5s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
50s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
44s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  0m 
44s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red}  0m 44s{color} 
| {color:red} root generated 1 new + 90 unchanged - 0 fixed = 91 total (was 90) 
{color} |
| {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange}  
0m 31s{color} | {color:orange} root: The patch generated 65 new + 1139 
unchanged - 48 fixed = 1204 total (was 1187) {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 
32s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 19m 43s{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} 26m  0s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | 
ratis.server.simulation.TestRaftReconfigurationWithSimulatedRpc |
|   | ratis.server.simulation.TestLeaderElectionWithSimulatedRpc |
|   | ratis.server.simulation.TestServerRestartWithSimulatedRpc |
|   | ratis.TestRaftServerLeaderElectionTimeout |
|   | ratis.TestRaftServerSlownessDetection |
|   | ratis.server.TestRaftLogMetrics |
|   | ratis.server.simulation.TestRaftWithSimulatedRpc |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/ratis:date2018-10-24 
|
| JIRA Issue | RATIS-352 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12945492/r352_20181025.patch |
| Optional Tests |  asflicense  cc  unit  javac  javadoc  findbugs  checkstyle  
compile  |
| uname | Linux 9579f12a9c88 3.13.0-153-generic #203-Ubuntu SMP Thu Jun 14 
08:52:28 UTC 2018 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 / 85d8e02 |
| Default Java | 1.8.0_181 |
| javac | 
https://builds.apache.org/job/PreCommit-RATIS-Build/456/artifact/out/diff-compile-javac-root.txt
 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-RATIS-Build/456/artifact/out/diff-checkstyle-root.txt
 |
| unit | 
https://builds.apache.org/job/PreCommit-RATIS-Build/456/artifact/out/patch-unit-root.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-RATIS-Build/456/testReport/ |
| modules | C: ratis-proto ratis-server 

[jira] [Created] (RATIS-372) Basic test harness for LogService

2018-10-24 Thread Josh Elser (JIRA)
Josh Elser created RATIS-372:


 Summary: Basic test harness for LogService
 Key: RATIS-372
 URL: https://issues.apache.org/jira/browse/RATIS-372
 Project: Ratis
  Issue Type: Task
  Components: LogService
Reporter: Josh Elser
Assignee: Rajeshbabu Chintaguntla


We should have something that can stand up a logservice in a pseudo-distributed 
manner.

Docker is all the rage right now, and would make it easy to deploy onto 
something like k8s in the future.

Using [docker-compose|https://docs.docker.com/compose/] would provide us a nice 
way to have one docker image for the metadata service daemons, another for 
logservice daemons (if needed), and then create a network that connects them 
all together. The final docker-compose yaml would be something like:

It would be nice to provide a "client" container in which we show a basic 
create/write/read/delete example to give folks a starting point.

* 1 network
* 3 instances of metadata service statemachines
* 3 instances of log service statemachines
* 1 image with the example client.

[~chrajeshbab...@gmail.com], make sense to you?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-370) TestRaftServerSlownessDetection keep failing

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


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

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

Found two problems:
# Minor: The RequestHandler thread in simulated rpc may not terminate so that 
the test will timeout in such case.
# Real bug: StateMachine.notifySlowness(..) is never called even retrying for 5 
seconds.



> TestRaftServerSlownessDetection keep failing
> 
>
> Key: RATIS-370
> URL: https://issues.apache.org/jira/browse/RATIS-370
> Project: Ratis
>  Issue Type: Bug
>  Components: server, test
>Reporter: Tsz Wo Nicholas Sze
>Priority: Major
>
> TestRaftServerSlownessDetection failure keep showing up in QA reports.  In my 
> machine, it also fails every few runs.
> BTW, TestRaftServerSlownessDetection only check simulated rpc.  The gRPC 
> implementation is never tested.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (RATIS-370) TestRaftServerSlownessDetection keep failing

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-370:
--
Attachment: r370_20181025.patch

> TestRaftServerSlownessDetection keep failing
> 
>
> Key: RATIS-370
> URL: https://issues.apache.org/jira/browse/RATIS-370
> Project: Ratis
>  Issue Type: Bug
>  Components: server, test
>Reporter: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r370_20181025.patch
>
>
> TestRaftServerSlownessDetection failure keep showing up in QA reports.  In my 
> machine, it also fails every few runs.
> BTW, TestRaftServerSlownessDetection only check simulated rpc.  The gRPC 
> implementation is never tested.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-370) TestRaftServerSlownessDetection keep failing

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


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

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

r370_20181025.patch: fixes #1 and adds multiple attempts but 
TestRaftServerSlownessDetection still may fail.

> TestRaftServerSlownessDetection keep failing
> 
>
> Key: RATIS-370
> URL: https://issues.apache.org/jira/browse/RATIS-370
> Project: Ratis
>  Issue Type: Bug
>  Components: server, test
>Reporter: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r370_20181025.patch
>
>
> TestRaftServerSlownessDetection failure keep showing up in QA reports.  In my 
> machine, it also fails every few runs.
> BTW, TestRaftServerSlownessDetection only check simulated rpc.  The gRPC 
> implementation is never tested.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (RATIS-373) Tolerate half written log entry

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-373:
-

 Summary: Tolerate half written log entry
 Key: RATIS-373
 URL: https://issues.apache.org/jira/browse/RATIS-373
 Project: Ratis
  Issue Type: Improvement
  Components: server
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


When a server is killed, the last log entry may be half written.  RaftLog will 
then consider the log as corrupted and the server will fail to start up.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-352:
--
Attachment: (was: r352_20181025.patch)

> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181025b.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-352:
--
Attachment: r352_20181025b.patch

> Persist commit index in Raft log.
> -
>
> Key: RATIS-352
> URL: https://issues.apache.org/jira/browse/RATIS-352
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
> Attachments: r352_20181025b.patch
>
>
> Current the commit index is not persisted in the Raft log.  When a server 
> restarts, it cannot apply its log until it has joined a Raft group.  There is 
> no problem if there is a Raft group.  
> However, a server cannot recover its data when formatting a Raft group is 
> impossible (e.g. a majority of servers are dead).  Ideally, a server can 
> safely apply the log up to the commit index.  The JIRA is to persist the 
> commit index so that such recovery is possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (RATIS-373) Tolerate the last half written log entry

2018-10-24 Thread Tsz Wo Nicholas Sze (JIRA)


 [ 
https://issues.apache.org/jira/browse/RATIS-373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-373:
--
Summary: Tolerate the last half written log entry  (was: Tolerate half 
written log entry)

> Tolerate the last half written log entry
> 
>
> Key: RATIS-373
> URL: https://issues.apache.org/jira/browse/RATIS-373
> Project: Ratis
>  Issue Type: Improvement
>  Components: server
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Major
>
> When a server is killed, the last log entry may be half written.  RaftLog 
> will then consider the log as corrupted and the server will fail to start up.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (RATIS-352) Persist commit index in Raft log.

2018-10-24 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on RATIS-352:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
12s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
1s{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 9 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
16s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
59s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
49s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
31s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
36s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m  
5s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
50s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
47s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  0m 
47s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red}  0m 47s{color} 
| {color:red} root generated 1 new + 90 unchanged - 0 fixed = 91 total (was 90) 
{color} |
| {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange}  
0m 30s{color} | {color:orange} root: The patch generated 65 new + 1234 
unchanged - 48 fixed = 1299 total (was 1282) {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 
33s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 13m 36s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
10s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 20m  6s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | ratis.netty.TestRaftReconfigurationWithNetty |
|   | ratis.grpc.TestRaftWithGrpc |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/ratis:date2018-10-25 
|
| JIRA Issue | RATIS-352 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12945535/r352_20181025b.patch |
| Optional Tests |  asflicense  cc  unit  javac  javadoc  findbugs  checkstyle  
compile  |
| uname | Linux 0891f8305dff 3.13.0-143-generic #192-Ubuntu SMP Tue Feb 27 
10:45:36 UTC 2018 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 / 85d8e02 |
| Default Java | 1.8.0_181 |
| javac | 
https://builds.apache.org/job/PreCommit-RATIS-Build/457/artifact/out/diff-compile-javac-root.txt
 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-RATIS-Build/457/artifact/out/diff-checkstyle-root.txt
 |
| unit | 
https://builds.apache.org/job/PreCommit-RATIS-Build/457/artifact/out/patch-unit-root.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-RATIS-Build/457/testReport/ |
| modules | C: ratis-proto ratis-server U: . |
| Console output | 
https://builds.apache.org/job/PreCommit-RATIS-Build/457/console |
| Powered by | Apache Yetus 0.5.0   http://yetus.apache.org |


This message was automatically generated.



> Persist commit index in Raft log.
> -
>
> Key: RATIS-352