[jira] [Created] (RATIS-79) Create Apache Curator for Ratis.
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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)