You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by ms...@apache.org on 2020/09/28 20:42:25 UTC

[incubator-ratis] branch ratis-ozone updated (6ab75ae -> ea949f1)

This is an automated email from the ASF dual-hosted git repository.

msingh pushed a change to branch ratis-ozone
in repository https://gitbox.apache.org/repos/asf/incubator-ratis.git.


    from 6ab75ae  RATIS-939. Fix Failed UT: testRaftServerMetrics (#102)
     add 91aaf6e  RATIS-959. Refactor xxxStateMachineData methods. (#119)
     add 374be2a  RATIS-966. Track commit metrics for different type of entries in RaftLog. (#120)
     add 965bcec  RATIS-921. Fix resource leak by closing thousands  of gRPC clients after use (#99)
     add 9375d21  RATIS-960. Add APIs to support streaming state machine data. (#121)
     add 79bf2aa  RATIS-975. Fix failed UT: testRaftLogMetrics (#122)
     add 201e1ef  RATIS-904. Fix Failed UT: testFileStoreAsync (#123)
     add 6741895  RATIS-957. Update .asf.yaml to define jira notifications strategy (#124)
     add 5049066  RATIS-958. Support multiple requests in a single MessageOutputStream. (#132)
     add 81b4b80  RATIS-895. Fix Failed UT: runTestRetryOnStateMachineException (#131)
     add 32e3eed  RATIS-980. Fix leader election happens too fast (#130)
     add 4443f6d  RATIS-983. Check follower state before ask for votes (#135)
     add 117e502  RATIS-977. Fix gRPC failed to read message.
     add 1024b33  RATIS-978. Fix failed UT: testAddNewFollowers.
     add 32bc9e4  RATIS-963. Update gRPC to 1.29.0. (#117)
     add b2d367f  RATIS-982. Fix RaftServerImpl illegal transition from RUNNING to RUNNING (#134)
     add 72a5109  RATIS-903. Fix Failed UT: RaftSnapshotBaseTest.testBasicInstallSnapshot (#133)
     add 6add587  RATIS-987. Infinite install snapshot (#137)
     add bf7361f  RATIS-974. Build fails on Windows machine (#136)
     add 0cc6aca  RATIS-833. Add metrics for raft log cache count and size in bytes (#78)
     add 5916ffe  RATIS-989. Avoid change state from CLOSING to EXCEPTION in LogAppender (#138)
     add e53cd95  RATIS-991. Update Ratis Thirdparty version to 0.5.0 (#141)
     add 4d6decb  RATIS-936. Fix ratis-hadoop with non shaded protobuf dependency. (#98)
     add 9d6e0d8  RATIS-996. Include ratis-docs in source and binary tar. (#143) Closes #143
     add bf8d297  RATIS-999. Update Ratis version to 1.1.0-SNAPSHOT.
     add 8acf988  RATIS-992. Avoid foreach in hot spot newAppendEntriesRequestProto (#142)
     add 86f66e2  RATIS-868. Fix Failed UT: TestRaftWithSimulatedRpc#testWithLoad (#129)
     add 4db4f80  RATIS-1001: add currentTerm to LeaderInfoProto for supporting SCM-HA. (#151)
     add d5e4a56  RATIS-1006. Exclude Netty 3.10 from Ratis dependencies. (#152)
     add 94e043a  RATIS-997: Benchmarking protobuffers and flatbuffers for streaming in GRPC (#139)
     add 63fc4e0  RATIS-757. Remove native library (#103)
     add ab075f3  RATIS-1008: SimpleStateMachine4Testing#blockWriteStateMachineData should not block heartbeats (#154)
     add f54923b  RATIS-965. Adds new JMX metric for getting Groups a server is part of (#140)
     add 346a32b  RATIS-1009 - Zero-copy semantics in Netty. (#155)
     add 85a6fda  RATIS-981: Step-down stale leader in case of split-brain (#150)
     add 4563682  RATIS-792. NPE. ServerOpts.metaQuorum should be required (#49)
     add 85281b2  RATIS-1015. Fix Failed UT: testBasicInstallSnapshot (#162)
     add b89d7c1  RATIS-1018. Fix Failed UT: testGroupInfo (#163)
     add aab414f  RATIS-805 - Metrics for GRPC messages (#159)
     add c48b0e4  RATIS-1021. Fix failed UT: testMultipleLinearRandomRetry (#166)
     add 349c365  RATIS-1011 - Interfaces for client, server for netty streaming (#164)  Contributed by Ansh Khanna
     add ed02db7  RATIS-924: rename raft group dir on disk when remove group is invoked (#148)
     add d4d1c96  RATIS-1024.Unit Tests for MemoryRaftLog entry truncation (#169). Contributed by Rui Wang
     add a0203d4  RATIS-1027.Implement un-finished tests in TestLogServiceProtoUtil
     add a59b571  RATIS-1023.During installing snapshot, when snapshot file is corrup… (#168)
     add 5b72ac7  RATIS-1029. NPE at MetricServerInterceptor.interceptCall (#174)
     add 1af0980  RATIS-1030: Implement ratis streaming using netty - Client code (#179). Contributed by Ansh Khanna
     add f55f386  RATIS-1031. Implement ratis streaming using netty - Server code (#177). Contributed by Ansh Khanna
     add 37ea6e8  RATIS-1039. Update ratis-thirdparty version in order to use the latest netty. (#180). Contributed by Ansh Khanna
     add 3e3e61c  RATIS-1032. Change RaftPeer and proto to support priority (#181)
     add de0e022  RATIS-1033. Change leader election to add priority consideration (#182)
     add 052e109  RATIS-1034. Change leader heartbeat to yield to a higher priority leader (#184)
     add 3a98407  RATIS-1041. Change client to try the servers according to the priority (#186)
     add 48f1f5e  RATIS-945. Fix exception in RaftClientReply was ignored
     add ea949f1  RATIS-1047. Fix can not elect leader when higher priority server crash (#187)

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |    7 +-
 LICENSE                                            |   37 -
 dev-support/checkstyle.xml                         |    5 -
 pom.xml                                            |   39 +-
 ratis-assembly/pom.xml                             |    6 +-
 ratis-assembly/src/main/assembly/bin.xml           |    7 +
 ratis-assembly/src/main/assembly/src.xml           |    1 +
 ratis-client/pom.xml                               |    2 +-
 .../org/apache/ratis/client/DataStreamClient.java  |   75 ++
 ...ntFactory.java => DataStreamClientFactory.java} |   27 +-
 .../apache/ratis/client/DataStreamClientRpc.java   |   26 +-
 .../java/org/apache/ratis/client/RaftClient.java   |    6 +-
 ...sageOutputStream.java => DataStreamOutput.java} |   12 +-
 .../ratis/client/api/MessageOutputStream.java      |   17 +-
 .../apache/ratis/client/impl/ClientProtoUtils.java |    4 +-
 .../ratis/client/impl/DataStreamClientImpl.java    |  113 +++
 .../ratis/client/impl/OrderedStreamAsync.java      |  160 +++
 .../apache/ratis/client/impl/RaftClientImpl.java   |   34 +-
 .../org/apache/ratis/client/impl/StreamImpl.java   |    4 +-
 ratis-common/RatisCommon.cmake                     |  208 ----
 ratis-common/RatisJNI.cmake                        |   97 --
 ratis-common/pom.xml                               |   88 +-
 ratis-common/src/CMakeLists.txt                    |  108 --
 ratis-common/src/config.h.cmake                    |   24 -
 .../main/java/org/apache/ratis/RaftConfigKeys.java |   17 +
 .../ratis/datastream/DataStreamFactory.java}       |   12 +-
 .../ratis/datastream/SupportedDataStreamType.java  |   48 +
 .../java/org/apache/ratis/io/nativeio/Errno.java   |   64 --
 .../org/apache/ratis/io/nativeio/NativeIO.java     |  756 --------------
 .../ratis/io/nativeio/NativeIOException.java       |   70 --
 ...{RaftRpcMessage.java => DataStreamMessage.java} |   16 +-
 .../{RaftRpcMessage.java => DataStreamReply.java}  |   16 +-
 .../apache/ratis/protocol/DataStreamReplyImpl.java |   40 +-
 .../apache/ratis/protocol/DataStreamRequest.java   |   11 +-
 ...Exception.java => DataStreamRequestClient.java} |   35 +-
 .../ratis/protocol/DataStreamRequestServer.java    |   38 +-
 .../ratis/protocol/GroupManagementRequest.java     |   18 +-
 .../apache/ratis/protocol/RaftClientRequest.java   |    8 +-
 .../java/org/apache/ratis/protocol/RaftPeer.java   |   20 +-
 .../main/java/org/apache/ratis/util/FileUtils.java |   46 +
 .../main/java/org/apache/ratis/util/LifeCycle.java |    2 +-
 .../org/apache/ratis/util/NativeCodeLoader.java    |   70 --
 .../java/org/apache/ratis/util/NativeCrc32.java    |  114 ---
 .../apache/ratis/util/NativeLibraryChecker.java    |   67 --
 .../java/org/apache/ratis/util/ProtoUtils.java     |    2 +-
 ratis-common/src/main/native/src/exception.c       |  124 ---
 ratis-common/src/main/native/src/exception.h       |  104 --
 .../src/org/apache/ratis/io/nativeio/NativeIO.c    | 1061 --------------------
 .../src/org/apache/ratis/io/nativeio/errno_enum.c  |  123 ---
 .../org/apache/ratis/io/nativeio/file_descriptor.c |  115 ---
 .../org/apache/ratis/io/nativeio/file_descriptor.h |   36 -
 .../src/org/apache/ratis/util/NativeCodeLoader.c   |   56 --
 .../native/src/org/apache/ratis/util/NativeCrc32.c |  264 -----
 .../native/src/org/apache/ratis/util/bulk_crc32.c  |  244 -----
 .../native/src/org/apache/ratis/util/bulk_crc32.h  |   73 --
 .../src/org/apache/ratis/util/bulk_crc32_aarch64.c |  362 -------
 .../src/org/apache/ratis/util/bulk_crc32_x86.c     |  345 -------
 .../ratis/util/crc32_zlib_polynomial_tables.h      |  552 ----------
 .../src/org/apache/ratis/util/crc32c_tables.h      |  550 ----------
 .../src/org/apache/ratis/util/gcc_optimizations.h  |   30 -
 .../src/main/native/src/org_apache_ratis.h         |  189 ----
 .../test/org/apache/ratis/util/test_bulk_crc32.c   |  113 ---
 .../java/org/apache/ratis/util/FileUtilsTest.java} |   24 +-
 ratis-docs/pom.xml                                 |    5 +-
 ratis-examples/pom.xml                             |    2 +-
 .../apache/ratis/examples/filestore/FileInfo.java  |    7 +
 .../examples/filestore/FileStoreStateMachine.java  |    6 +-
 .../ratis/examples/ParameterizedBaseTest.java      |    8 +
 .../examples/filestore/FileStoreAsyncBaseTest.java |    4 +-
 .../examples/filestore/FileStoreBaseTest.java      |    4 +-
 ratis-experiments/README.md                        |   66 ++
 {ratis-examples => ratis-experiments}/pom.xml      |  178 ++--
 .../scripts/flatbuf-compile.sh                     |   17 +-
 .../src/main/flatbufs/FileTransfer.fbs             |   20 +-
 .../experiments/flatbuffers/client/ClientFlat.java |  133 +++
 .../flatbuffers/client/ClientProto.java            |  132 +++
 .../flatbuffers/server/FileTransferFlatbufs.java   |   66 ++
 .../flatbuffers/server/FileTransferProtobufs.java  |   60 ++
 .../experiments/flatbuffers/server/ServerFlat.java |   40 +-
 .../flatbuffers/server/ServerProto.java            |   39 +-
 .../nettyzerocopy/client/NettyClient.java          |  150 +++
 .../nettyzerocopy/decoders/RequestDecoder.java     |   62 ++
 .../decoders/RequestDecoderComposite.java          |   69 ++
 .../nettyzerocopy/decoders/ResponseDecoder.java    |   38 +-
 .../nettyzerocopy/encoders/RequestEncoder.java     |   46 +
 .../nettyzerocopy/encoders/ResponseEncoder.java    |   53 +-
 .../nettyzerocopy/objects/RequestData.java         |   43 +-
 .../objects/RequestDataComposite.java              |   26 +-
 .../nettyzerocopy/objects/ResponseData.java        |   15 +-
 .../nettyzerocopy/server/NettyServer.java          |   96 ++
 ratis-grpc/pom.xml                                 |    2 +-
 .../main/java/org/apache/ratis/grpc/GrpcUtil.java  |   35 +
 .../grpc/client/GrpcClientProtocolClient.java      |   14 +-
 .../apache/ratis/grpc/metrics/MessageMetrics.java  |   65 ++
 .../metrics/intercept/client/MetricClientCall.java |   44 +
 .../intercept/client/MetricClientCallListener.java |   49 +
 .../intercept/client/MetricClientInterceptor.java  |   56 ++
 .../metrics/intercept/server/MetricServerCall.java |   49 +
 .../intercept/server/MetricServerCallListener.java |   53 +-
 .../intercept/server/MetricServerInterceptor.java  |   80 ++
 .../apache/ratis/grpc/server/GrpcLogAppender.java  |    4 +-
 .../grpc/server/GrpcServerProtocolClient.java      |    9 +-
 .../grpc/server/GrpcServerProtocolService.java     |    2 +-
 .../org/apache/ratis/grpc/server/GrpcService.java  |   23 +-
 ratis-hadoop/pom.xml                               |   30 +-
 ...mbinedClientProtocolClientSideTranslatorPB.java |   48 +-
 .../hadooprpc/client/CombinedClientProtocolPB.java |    4 +-
 ...mbinedClientProtocolServerSideTranslatorPB.java |  114 ++-
 .../ratis/hadooprpc/server/HadoopRpcService.java   |   42 +-
 .../hadooprpc/server/RaftServerProtocolPB.java     |    4 +-
 .../RaftServerProtocolServerSideTranslatorPB.java  |   62 +-
 .../src/main/proto/HadoopCompatability.proto       |   73 ++
 .../TestRaftReconfigurationWithHadoopRpc.java      |    3 -
 ratis-logservice/pom.xml                           |   26 +-
 .../ratis/logservice/api/LogServiceClient.java     |    2 +-
 .../ratis/logservice/impl/LogReaderImpl.java       |   16 +
 .../ratis/logservice/impl/LogStreamImpl.java       |   17 +
 .../ratis/logservice/impl/LogWriterImpl.java       |    7 +
 .../apache/ratis/logservice/server/LogServer.java  |    1 +
 .../ratis/logservice/server/LogStateMachine.java   |    7 +
 .../ratis/logservice/server/MetaStateMachine.java  |   42 +-
 .../apache/ratis/logservice/server/ServerOpts.java |    2 +-
 .../ratis/logservice/util/LogServiceProtoUtil.java |    6 +-
 .../ratis/logservice/LogServiceReadWriteBase.java  |   52 +-
 .../ratis/logservice/server/TestMetaServer.java    |  302 +++---
 .../logservice/util/TestLogServiceProtoUtil.java   |  104 +-
 ratis-metrics/pom.xml                              |    2 +-
 ratis-netty/pom.xml                                |    2 +-
 ...ttyFactory.java => NettyDataStreamFactory.java} |   33 +-
 .../ratis/netty/client/NettyClientStreamRpc.java   |  116 +++
 .../netty/decoders/DataStreamReplyDecoder.java     |   53 +
 .../netty/decoders/DataStreamRequestDecoder.java   |   59 ++
 .../netty/encoders/DataStreamReplyEncoder.java     |   44 +
 .../netty/encoders/DataStreamRequestEncoder.java   |   49 +-
 .../ratis/netty/server/NettyServerStreamRpc.java   |  141 +++
 ratis-proto/pom.xml                                |    2 +-
 .../src/main/proto/Experiments.proto               |   25 +-
 ratis-proto/src/main/proto/Raft.proto              |    5 +-
 ratis-replicated-map/pom.xml                       |    2 +-
 ratis-resource-bundle/pom.xml                      |    2 +-
 ratis-server/pom.xml                               |    2 +-
 .../org/apache/ratis/server/DataStreamServer.java  |   18 +-
 .../ratis/server/DataStreamServerFactory.java}     |   32 +-
 .../apache/ratis/server/DataStreamServerRpc.java   |   26 +-
 .../apache/ratis/server/RaftServerConfigKeys.java  |   10 +
 .../org/apache/ratis/server/RaftServerMXBean.java  |    4 +
 .../ratis/server/impl/DataStreamServerImpl.java    |   62 ++
 .../apache/ratis/server/impl/LeaderElection.java   |   61 +-
 .../org/apache/ratis/server/impl/LeaderState.java  |  130 ++-
 .../org/apache/ratis/server/impl/LogAppender.java  |   40 +-
 .../ratis/server/impl/PeerConfiguration.java       |    5 +-
 .../apache/ratis/server/impl/RaftServerImpl.java   |  157 ++-
 .../apache/ratis/server/impl/RaftServerProxy.java  |   10 +-
 .../org/apache/ratis/server/impl/ServerState.java  |   39 +-
 .../ratis/server/impl/StateMachineUpdater.java     |    4 +-
 .../apache/ratis/server/impl/StreamRequests.java   |   25 +-
 .../ratis/server/metrics/RaftLogMetrics.java       |   42 +
 .../org/apache/ratis/server/raftlog/RaftLog.java   |    8 +-
 .../ratis/server/raftlog/RaftLogSequentialOps.java |    2 +-
 .../ratis/server/raftlog/memory/MemoryRaftLog.java |    1 -
 .../server/raftlog/segmented/SegmentedRaftLog.java |   19 +-
 .../raftlog/segmented/SegmentedRaftLogCache.java   |   32 +-
 .../raftlog/segmented/SegmentedRaftLogWorker.java  |   10 +-
 .../ratis/server/storage/SnapshotManager.java      |    7 +-
 .../apache/ratis/statemachine/StateMachine.java    |  154 ++-
 .../ratis/statemachine/impl/BaseStateMachine.java  |    4 +-
 .../java/org/apache/ratis/LogAppenderTests.java    |   46 +-
 .../java/org/apache/ratis/MiniRaftCluster.java     |    8 +
 .../test/java/org/apache/ratis/RaftAsyncTests.java |  132 ++-
 .../org/apache/ratis/RaftExceptionBaseTest.java    |    3 +-
 .../java/org/apache/ratis/RetryCacheTests.java     |   96 +-
 .../test/java/org/apache/ratis/StreamApiTests.java |   17 +-
 .../ratis/server/impl/GroupInfoBaseTest.java       |    6 +-
 .../ratis/server/impl/GroupManagementBaseTest.java |  222 +++-
 .../server/impl/RaftReconfigurationBaseTest.java   |  260 +++--
 .../impl/RaftStateMachineExceptionTests.java       |  109 +-
 .../server/impl/StateMachineShutdownTests.java     |   77 +-
 .../server/simulation/SimulatedRequestReply.java   |   24 +-
 .../ratis/statemachine/RaftSnapshotBaseTest.java   |   16 +-
 .../statemachine/SimpleStateMachine4Testing.java   |   35 +-
 ratis-test/pom.xml                                 |    2 +-
 .../apache/ratis/datastream/TestDataStream.java    |   98 ++
 .../apache/ratis/grpc/TestGrpcMessageMetrics.java  |   71 ++
 .../apache/ratis/grpc/TestLogAppenderWithGrpc.java |   51 +-
 .../apache/ratis/grpc/TestRaftServerWithGrpc.java  |   57 +-
 .../ratis/retry/TestExceptionDependentRetry.java   |   13 +-
 .../ratis/retry/TestMultipleLinearRandomRetry.java |    3 +-
 .../apache/ratis/server/ServerRestartTests.java    |   18 +-
 .../ratis/server/impl/TestRaftServerJmx.java       |    3 +
 .../ratis/server/raftlog/TestRaftLogMetrics.java   |   16 +-
 .../server/raftlog/memory/MemoryRaftLogTest.java   |   96 ++
 .../raftlog/segmented/TestSegmentedRaftLog.java    |   31 +-
 .../segmented/TestSegmentedRaftLogCache.java       |   35 +-
 .../ratis/statemachine/TestStateMachine.java       |    7 +-
 ratis-tools/pom.xml                                |    2 +-
 195 files changed, 5231 insertions(+), 7538 deletions(-)
 create mode 100644 ratis-client/src/main/java/org/apache/ratis/client/DataStreamClient.java
 copy ratis-client/src/main/java/org/apache/ratis/client/{ClientFactory.java => DataStreamClientFactory.java} (58%)
 copy ratis-server/src/main/java/org/apache/ratis/server/protocol/RaftServerAsynchronousProtocol.java => ratis-client/src/main/java/org/apache/ratis/client/DataStreamClientRpc.java (58%)
 copy ratis-client/src/main/java/org/apache/ratis/client/api/{MessageOutputStream.java => DataStreamOutput.java} (78%)
 create mode 100644 ratis-client/src/main/java/org/apache/ratis/client/impl/DataStreamClientImpl.java
 create mode 100644 ratis-client/src/main/java/org/apache/ratis/client/impl/OrderedStreamAsync.java
 delete mode 100644 ratis-common/RatisCommon.cmake
 delete mode 100644 ratis-common/RatisJNI.cmake
 delete mode 100644 ratis-common/src/CMakeLists.txt
 delete mode 100644 ratis-common/src/config.h.cmake
 rename ratis-common/src/main/{native/src/org/apache/ratis/io/nativeio/errno_enum.h => java/org/apache/ratis/datastream/DataStreamFactory.java} (81%)
 create mode 100644 ratis-common/src/main/java/org/apache/ratis/datastream/SupportedDataStreamType.java
 delete mode 100644 ratis-common/src/main/java/org/apache/ratis/io/nativeio/Errno.java
 delete mode 100644 ratis-common/src/main/java/org/apache/ratis/io/nativeio/NativeIO.java
 delete mode 100644 ratis-common/src/main/java/org/apache/ratis/io/nativeio/NativeIOException.java
 copy ratis-common/src/main/java/org/apache/ratis/protocol/{RaftRpcMessage.java => DataStreamMessage.java} (85%)
 copy ratis-common/src/main/java/org/apache/ratis/protocol/{RaftRpcMessage.java => DataStreamReply.java} (84%)
 copy ratis-examples/src/main/java/org/apache/ratis/examples/arithmetic/expression/NullValue.java => ratis-common/src/main/java/org/apache/ratis/protocol/DataStreamReplyImpl.java (57%)
 copy ratis-docs/themes/ratisdoc/static/js/ratisdoc.js => ratis-common/src/main/java/org/apache/ratis/protocol/DataStreamRequest.java (88%)
 copy ratis-common/src/main/java/org/apache/ratis/protocol/{RaftException.java => DataStreamRequestClient.java} (57%)
 copy ratis-test/src/test/java/org/apache/ratis/server/simulation/TestRaftExceptionWithSimulation.java => ratis-common/src/main/java/org/apache/ratis/protocol/DataStreamRequestServer.java (53%)
 delete mode 100644 ratis-common/src/main/java/org/apache/ratis/util/NativeCodeLoader.java
 delete mode 100644 ratis-common/src/main/java/org/apache/ratis/util/NativeCrc32.java
 delete mode 100644 ratis-common/src/main/java/org/apache/ratis/util/NativeLibraryChecker.java
 delete mode 100644 ratis-common/src/main/native/src/exception.c
 delete mode 100644 ratis-common/src/main/native/src/exception.h
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/io/nativeio/NativeIO.c
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/io/nativeio/errno_enum.c
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/io/nativeio/file_descriptor.c
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/io/nativeio/file_descriptor.h
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/util/NativeCodeLoader.c
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/util/NativeCrc32.c
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/util/bulk_crc32.c
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/util/bulk_crc32.h
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/util/bulk_crc32_aarch64.c
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/util/bulk_crc32_x86.c
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/util/crc32_zlib_polynomial_tables.h
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/util/crc32c_tables.h
 delete mode 100644 ratis-common/src/main/native/src/org/apache/ratis/util/gcc_optimizations.h
 delete mode 100644 ratis-common/src/main/native/src/org_apache_ratis.h
 delete mode 100644 ratis-common/src/main/native/src/test/org/apache/ratis/util/test_bulk_crc32.c
 copy ratis-common/src/{main/java/org/apache/ratis/io/CorruptedFileException.java => test/java/org/apache/ratis/util/FileUtilsTest.java} (59%)
 create mode 100644 ratis-experiments/README.md
 copy {ratis-examples => ratis-experiments}/pom.xml (52%)
 copy ratis-docs/dev-support/bin/generate-site.sh => ratis-experiments/scripts/flatbuf-compile.sh (78%)
 mode change 100755 => 100644
 copy ratis-logservice/src/main/java/org/apache/ratis/logservice/common/LogNotFoundException.java => ratis-experiments/src/main/flatbufs/FileTransfer.fbs (76%)
 create mode 100644 ratis-experiments/src/main/java/org/apache/ratis/experiments/flatbuffers/client/ClientFlat.java
 create mode 100644 ratis-experiments/src/main/java/org/apache/ratis/experiments/flatbuffers/client/ClientProto.java
 create mode 100644 ratis-experiments/src/main/java/org/apache/ratis/experiments/flatbuffers/server/FileTransferFlatbufs.java
 create mode 100644 ratis-experiments/src/main/java/org/apache/ratis/experiments/flatbuffers/server/FileTransferProtobufs.java
 copy ratis-tools/src/main/java/org/apache/ratis/tools/DefaultLogDump.java => ratis-experiments/src/main/java/org/apache/ratis/experiments/flatbuffers/server/ServerFlat.java (51%)
 copy ratis-tools/src/main/java/org/apache/ratis/tools/DefaultLogDump.java => ratis-experiments/src/main/java/org/apache/ratis/experiments/flatbuffers/server/ServerProto.java (51%)
 create mode 100644 ratis-experiments/src/main/java/org/apache/ratis/experiments/nettyzerocopy/client/NettyClient.java
 create mode 100644 ratis-experiments/src/main/java/org/apache/ratis/experiments/nettyzerocopy/decoders/RequestDecoder.java
 create mode 100644 ratis-experiments/src/main/java/org/apache/ratis/experiments/nettyzerocopy/decoders/RequestDecoderComposite.java
 copy ratis-common/src/main/java/org/apache/ratis/protocol/SetConfigurationRequest.java => ratis-experiments/src/main/java/org/apache/ratis/experiments/nettyzerocopy/decoders/ResponseDecoder.java (53%)
 create mode 100644 ratis-experiments/src/main/java/org/apache/ratis/experiments/nettyzerocopy/encoders/RequestEncoder.java
 copy ratis-logservice/src/test/java/org/apache/ratis/logservice/util/TestUtils.java => ratis-experiments/src/main/java/org/apache/ratis/experiments/nettyzerocopy/encoders/ResponseEncoder.java (50%)
 copy ratis-logservice/src/main/java/org/apache/ratis/logservice/api/RecordListener.java => ratis-experiments/src/main/java/org/apache/ratis/experiments/nettyzerocopy/objects/RequestData.java (56%)
 copy ratis-common/src/main/java/org/apache/ratis/protocol/RaftException.java => ratis-experiments/src/main/java/org/apache/ratis/experiments/nettyzerocopy/objects/RequestDataComposite.java (66%)
 copy ratis-common/src/main/java/org/apache/ratis/protocol/ReconfigurationInProgressException.java => ratis-experiments/src/main/java/org/apache/ratis/experiments/nettyzerocopy/objects/ResponseData.java (80%)
 create mode 100644 ratis-experiments/src/main/java/org/apache/ratis/experiments/nettyzerocopy/server/NettyServer.java
 create mode 100644 ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/MessageMetrics.java
 create mode 100644 ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/intercept/client/MetricClientCall.java
 create mode 100644 ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/intercept/client/MetricClientCallListener.java
 create mode 100644 ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/intercept/client/MetricClientInterceptor.java
 create mode 100644 ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/intercept/server/MetricServerCall.java
 copy ratis-examples/src/main/java/org/apache/ratis/examples/arithmetic/expression/NullValue.java => ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/intercept/server/MetricServerCallListener.java (52%)
 create mode 100644 ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/intercept/server/MetricServerInterceptor.java
 create mode 100644 ratis-hadoop/src/main/proto/HadoopCompatability.proto
 copy ratis-netty/src/main/java/org/apache/ratis/netty/{NettyFactory.java => NettyDataStreamFactory.java} (50%)
 create mode 100644 ratis-netty/src/main/java/org/apache/ratis/netty/client/NettyClientStreamRpc.java
 create mode 100644 ratis-netty/src/main/java/org/apache/ratis/netty/decoders/DataStreamReplyDecoder.java
 create mode 100644 ratis-netty/src/main/java/org/apache/ratis/netty/decoders/DataStreamRequestDecoder.java
 create mode 100644 ratis-netty/src/main/java/org/apache/ratis/netty/encoders/DataStreamReplyEncoder.java
 copy ratis-logservice/src/test/java/org/apache/ratis/logservice/util/TestUtils.java => ratis-netty/src/main/java/org/apache/ratis/netty/encoders/DataStreamRequestEncoder.java (50%)
 create mode 100644 ratis-netty/src/main/java/org/apache/ratis/netty/server/NettyServerStreamRpc.java
 copy ratis-common/src/main/java/org/apache/ratis/protocol/RaftRpcMessage.java => ratis-proto/src/main/proto/Experiments.proto (64%)
 copy ratis-common/src/main/java/org/apache/ratis/util/UncheckedAutoCloseable.java => ratis-server/src/main/java/org/apache/ratis/server/DataStreamServer.java (78%)
 copy ratis-server/src/{test/java/org/apache/ratis/server/simulation/SimulatedClientRpc.java => main/java/org/apache/ratis/server/DataStreamServerFactory.java} (54%)
 copy ratis-logservice/src/main/java/org/apache/ratis/logservice/api/LogMessage.java => ratis-server/src/main/java/org/apache/ratis/server/DataStreamServerRpc.java (74%)
 create mode 100644 ratis-server/src/main/java/org/apache/ratis/server/impl/DataStreamServerImpl.java
 create mode 100644 ratis-test/src/test/java/org/apache/ratis/datastream/TestDataStream.java
 create mode 100644 ratis-test/src/test/java/org/apache/ratis/grpc/TestGrpcMessageMetrics.java
 create mode 100644 ratis-test/src/test/java/org/apache/ratis/server/raftlog/memory/MemoryRaftLogTest.java