Re: Custom message serialization

2019-10-03 Thread Tsz Wo Sze
Hi Alexey,

I believe we are open to custom message serialization, especially,
Ratis is designed to be highly pluggable.  Indeed, it is a good time
to do so since we still do not yet need worry about backward
compatibility, since Ratis is still not yet GA.  Recently we do see
some weakness in Protobuf such as unnecessary buffer copying in some
cases.

It would be great if you could contribute in Ratis!  Contributions are
always welcome.  :)

Thanks for reaching out.
Tsz-Wo


On Fri, Oct 4, 2019 at 2:10 AM Alexey Goncharuk  wrote:
>
> Hello Ratis community, a fellow Apache member here :)
>
> I am currently researching an option to integrate a consensus module for
> Apache Ignite, mostly as metadata storage and group membership service in
> the beginning. I could not help noticing that there is a neighbor Apache
> project that looks very promising.
>
> I am just getting started and see that the messaging layer is separated
> from the core Raft algorithm implementation, but the message definitions
> and serialization are Google Protobuf-generated. In Ignite, we have a
> custom serialization protocol and try to keep the core module as small
> as possible, so the protobuf dependency does not quite fit our project.
>
> I was wondering if you have any plans for abstracting the serialization
> layer as well, or perhaps would accept a contribution that implements such
> a separation (after the design is discussed here, of course)? Or, perhaps,
> I missed something and I can plug custom messages to the Ratis core somehow?
>
> Thanks in advance,
> --Alexey Goncharuk


Custom message serialization

2019-10-03 Thread Alexey Goncharuk
Hello Ratis community, a fellow Apache member here :)

I am currently researching an option to integrate a consensus module for
Apache Ignite, mostly as metadata storage and group membership service in
the beginning. I could not help noticing that there is a neighbor Apache
project that looks very promising.

I am just getting started and see that the messaging layer is separated
from the core Raft algorithm implementation, but the message definitions
and serialization are Google Protobuf-generated. In Ignite, we have a
custom serialization protocol and try to keep the core module as small
as possible, so the protobuf dependency does not quite fit our project.

I was wondering if you have any plans for abstracting the serialization
layer as well, or perhaps would accept a contribution that implements such
a separation (after the design is discussed here, of course)? Or, perhaps,
I missed something and I can plug custom messages to the Ratis core somehow?

Thanks in advance,
--Alexey Goncharuk


Apache Ratis qbt Report: master+JDK8 on Linux/x86

2019-10-03 Thread Apache Jenkins Server
For more details, see 
https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/692/

[Oct 3, 2019 4:01:33 AM] (szetszwo) RATIS-693. Combine notifyLeader and 
notifyLeaderChanged calls on




-1 overall


The following subsystems voted -1:
unit


The following subsystems voted -1 but
were configured to be filtered/ignored:
checkstyle javac javadoc whitespace


Specific tests:

Failed junit tests :

   ratis.netty.TestRaftSnapshotWithNetty 
   ratis.grpc.TestRaftSnapshotWithGrpc 
   ratis.server.simulation.TestRaftSnapshotWithSimulatedRpc 
   ratis.grpc.TestWatchRequestWithGrpc 
   ratis.grpc.TestLeaderElectionWithGrpc 
   ratis.grpc.TestInstallSnapshotNotificationWithGrpc 
   ratis.server.simulation.TestRaftWithSimulatedRpc 
  

   javac:

   
https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/692/artifact/out/diff-compile-javac-root.txt
  [8.0K]

   checkstyle:

   
https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/692/artifact/out/diff-checkstyle-root.txt
  [68K]

   whitespace:

   
https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/692/artifact/out/whitespace-eol.txt
  [140K]
   
https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/692/artifact/out/whitespace-tabs.txt
  [8.0K]

   javadoc:

   
https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/692/artifact/out/diff-javadoc-javadoc-root.txt
  [20K]

   unit:

   
https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/692/artifact/out/patch-unit-root.txt
  [64K]

Powered by Apache Yetus 0.8.0   http://yetus.apache.org