[jira] [Created] (RATIS-79) Create Apache Curator for Ratis.

2017-04-25 Thread Niels Basjes (JIRA)
Niels Basjes created RATIS-79:
-

 Summary: Create Apache Curator for Ratis.
 Key: RATIS-79
 URL: https://issues.apache.org/jira/browse/RATIS-79
 Project: Ratis
  Issue Type: Wish
Reporter: Niels Basjes


A few weeks ago I attended the presentation in Munich about Ratis.
I had an idea on how the adoption of Ratis can be improved.

Apache Curator makes using zookeeper easy.
So if a development team only has to change a dependency (so instead of curator 
use raftcurator) and with as few code changes as possible they can experiment 
with raft. Then the switching cost of a project will go down a lot and the 
probability of switching increases.

So my proposal is: Make a wrapper/library that is a 100% drop in replacement 
for Apache Curator. All externally facing package names, classnames and methods 
are 'the same' and behave 'the same'.

P.S. Perhaps this ticket should be implemented at the curator end instead of 
here. I let you decide.





--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-72) Enable Ratis to run on high-performance RDMA networks

2017-04-25 Thread Animesh Trivedi (JIRA)

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

Animesh Trivedi commented on RATIS-72:
--

[~jingzhao] I have attached the complete log for mvn test failure. 

https://issues.apache.org/jira/secure/attachment/12864913/failed-test

Thanks

> Enable Ratis to run on high-performance RDMA networks
> -
>
> Key: RATIS-72
> URL: https://issues.apache.org/jira/browse/RATIS-72
> Project: Ratis
>  Issue Type: New Feature
>Reporter: Animesh Trivedi
>Assignee: Animesh Trivedi
>Priority: Minor
> Attachments: failed-test
>
>
> We want to enable Ratis to run on high-performance RDMA networks. There has 
> already been quite a bit of activity in leveraging RDMA networks in modern 
> data processing stacks. Distributed consensus is one of the problems that can 
> be accelerated using high-performance/RDMA messaging. 
> We start by implementing a Ratis RPC implementation using DiSNI and DaPRC 
> modules (https://github.com/zrlio/) for RDMA networks. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-72) Enable Ratis to run on high-performance RDMA networks

2017-04-25 Thread Animesh Trivedi (JIRA)

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

Animesh Trivedi updated RATIS-72:
-
Attachment: failed-test

Failed maven unit test logs

> Enable Ratis to run on high-performance RDMA networks
> -
>
> Key: RATIS-72
> URL: https://issues.apache.org/jira/browse/RATIS-72
> Project: Ratis
>  Issue Type: New Feature
>Reporter: Animesh Trivedi
>Assignee: Animesh Trivedi
>Priority: Minor
> Attachments: failed-test
>
>
> We want to enable Ratis to run on high-performance RDMA networks. There has 
> already been quite a bit of activity in leveraging RDMA networks in modern 
> data processing stacks. Distributed consensus is one of the problems that can 
> be accelerated using high-performance/RDMA messaging. 
> We start by implementing a Ratis RPC implementation using DiSNI and DaPRC 
> modules (https://github.com/zrlio/) for RDMA networks. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-76) Add loading policy for RaftLogCache

2017-04-25 Thread Tsz Wo Nicholas Sze (JIRA)

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

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

Thanks for adding the loading policy.  Some comments:
- In LogSegment, change loadCache to return LogEntryProto since there is no 
additional cost.
{code}
  synchronized LogEntryProto loadCache(LogRecord record) throws 
RaftLogIOException {
LogEntryProto entry = entryCache.get(record.getTermIndex());
if (entry != null) {
  return entry;
}
try {
  return cacheLoader.load(record);
} catch (Exception e) {
  throw new RaftLogIOException(e);
}
  }
{code}
Then, getEntryWithoutLoading and getEntryWithLoading can be easily implemented 
separately.
{code}
  LogEntryProto getEntryWithoutLoading(long index) {
LogRecord record = getLogRecord(index);
if (record == null) {
  return null;
}
return entryCache.get(record.getTermIndex());
  }

  @VisibleForTesting
  LogEntryProto getEntryWithLoading(long index) throws RaftLogIOException {
LogRecord record = getLogRecord(index);
if (record == null) {
  return null;
}
return loadCache(record);
  }
{code}
- Question: Is getEntryWithLoading intended to be only used in 
TestRaftLogSegment?

> Add loading policy for RaftLogCache
> ---
>
> Key: RATIS-76
> URL: https://issues.apache.org/jira/browse/RATIS-76
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-76.000.patch, RATIS-76.001.patch, 
> RATIS-76.002.patch
>
>
> RATIS-70 separates term/index/offset and entry content in {{LogSegment}}. Now 
> {{LogSegment}} can always holds term/index/offset part in memory as index, 
> and load log entry into a cache only when necessary. In this jira we will add 
> a cache loading policy in {{LogSegment}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-78) Ratis does not compile in Intellij

2017-04-25 Thread Tsz Wo Nicholas Sze (JIRA)

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

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

+1 the patch looks good.

> Ratis does not compile in Intellij
> --
>
> Key: RATIS-78
> URL: https://issues.apache.org/jira/browse/RATIS-78
> Project: Ratis
>  Issue Type: Bug
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-78.000.patch
>
>
> Currently the ratis code base cannot get compiled in Intellij because the 
> Forked Tomcat Native cannot get located.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-78) Ratis does not compile in Intellij

2017-04-25 Thread Tsz Wo Nicholas Sze (JIRA)

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

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

Thanks, Jing!

> Ratis does not compile in Intellij
> --
>
> Key: RATIS-78
> URL: https://issues.apache.org/jira/browse/RATIS-78
> Project: Ratis
>  Issue Type: Bug
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-78.000.patch
>
>
> Currently the ratis code base cannot get compiled in Intellij because the 
> Forked Tomcat Native cannot get located.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (RATIS-78) Ratis does not compile in Intellij

2017-04-25 Thread Tsz Wo Nicholas Sze (JIRA)

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

Tsz Wo Nicholas Sze resolved RATIS-78.
--
Resolution: Fixed

I have committed this.

> Ratis does not compile in Intellij
> --
>
> Key: RATIS-78
> URL: https://issues.apache.org/jira/browse/RATIS-78
> Project: Ratis
>  Issue Type: Bug
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-78.000.patch
>
>
> Currently the ratis code base cannot get compiled in Intellij because the 
> Forked Tomcat Native cannot get located.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-74) Missing dependency for enforcer rule enforceBytecodeVersion

2017-04-25 Thread Tsz Wo Nicholas Sze (JIRA)

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

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

+1 patch looks good.  

The patch is very helpful.  Thanks a lot, Karl!

> Missing dependency for enforcer rule enforceBytecodeVersion
> ---
>
> Key: RATIS-74
> URL: https://issues.apache.org/jira/browse/RATIS-74
> Project: Ratis
>  Issue Type: Bug
>Affects Versions: 0.1.0-alpha
>Reporter: Karl Heinz Marbaise
>Assignee: Karl Heinz Marbaise
>Priority: Critical
> Fix For: 0.1.0-alpha
>
> Attachments: 
> 0001-RATIS-74-Missing-dependency-for-enforcer-rule-enforc.patch
>
>
> If you using the profile {{release}} you will get a failure based on the 
> missing dependency for the {{enforceBytecodeVersion}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (RATIS-74) Missing dependency for enforcer rule enforceBytecodeVersion

2017-04-25 Thread Tsz Wo Nicholas Sze (JIRA)

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

Tsz Wo Nicholas Sze resolved RATIS-74.
--
Resolution: Fixed

I have committed this.

> Missing dependency for enforcer rule enforceBytecodeVersion
> ---
>
> Key: RATIS-74
> URL: https://issues.apache.org/jira/browse/RATIS-74
> Project: Ratis
>  Issue Type: Bug
>Affects Versions: 0.1.0-alpha
>Reporter: Karl Heinz Marbaise
>Assignee: Karl Heinz Marbaise
>Priority: Critical
> Fix For: 0.1.0-alpha
>
> Attachments: 
> 0001-RATIS-74-Missing-dependency-for-enforcer-rule-enforc.patch
>
>
> If you using the profile {{release}} you will get a failure based on the 
> missing dependency for the {{enforceBytecodeVersion}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-73) Update apache-rat-plugin to version 0.12

2017-04-25 Thread Tsz Wo Nicholas Sze (JIRA)

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

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

It seems that some of the excludes are needed since rat is now complaining the 
.iml and build-main.xml files.
{code}
*
  Files with Apache License headers will be marked AL
  Binary files (which do not require any license headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc. will be marked N
  ALBUILDING.md
  N LICENSE.txt
  ALpom.xml
 !? ratis-project/ratis-project.iml
 !? ratis-project/target/antrun/build-main.xml
 !? ratis-project-dist/ratis-project-dist.iml
 !? ratis-project-dist/target/antrun/build-main.xml
  ALREADME.md
 
*
{code}


> Update apache-rat-plugin to version 0.12
> 
>
> Key: RATIS-73
> URL: https://issues.apache.org/jira/browse/RATIS-73
> Project: Ratis
>  Issue Type: Improvement
>Affects Versions: 0.1.0-alpha
>Reporter: Karl Heinz Marbaise
>Assignee: Karl Heinz Marbaise
>Priority: Trivial
> Fix For: 0.1.0-alpha
>
> Attachments: 
> 0001-RATIS-73-Update-apache-rat-plugin-to-version-0.12.patch
>
>
> Upgrading the apache-rat-plugin to 0.12 and remove the rest of the 
> configuration cause it's the default.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-76) Add loading policy for RaftLogCache

2017-04-25 Thread Jing Zhao (JIRA)

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

Jing Zhao updated RATIS-76:
---
Attachment: RATIS-76.003.patch

Thanks a lot for the review, Nicholas! Update the patch to address your 
comments.

> Add loading policy for RaftLogCache
> ---
>
> Key: RATIS-76
> URL: https://issues.apache.org/jira/browse/RATIS-76
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-76.000.patch, RATIS-76.001.patch, 
> RATIS-76.002.patch, RATIS-76.003.patch
>
>
> RATIS-70 separates term/index/offset and entry content in {{LogSegment}}. Now 
> {{LogSegment}} can always holds term/index/offset part in memory as index, 
> and load log entry into a cache only when necessary. In this jira we will add 
> a cache loading policy in {{LogSegment}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-76) Add loading policy for RaftLogCache

2017-04-25 Thread Jing Zhao (JIRA)

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

Jing Zhao commented on RATIS-76:


bq. Question: Is getEntryWithLoading intended to be only used in 
TestRaftLogSegment?

Originally I plan to use it in SegmentedRaftLog. Now looks like it is no longer 
useful. So I removed it from the 003 patch.

> Add loading policy for RaftLogCache
> ---
>
> Key: RATIS-76
> URL: https://issues.apache.org/jira/browse/RATIS-76
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-76.000.patch, RATIS-76.001.patch, 
> RATIS-76.002.patch, RATIS-76.003.patch
>
>
> RATIS-70 separates term/index/offset and entry content in {{LogSegment}}. Now 
> {{LogSegment}} can always holds term/index/offset part in memory as index, 
> and load log entry into a cache only when necessary. In this jira we will add 
> a cache loading policy in {{LogSegment}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)