Initial code.

Project: http://git-wip-us.apache.org/repos/asf/incubator-ratis/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ratis/commit/813db4b7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ratis/tree/813db4b7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ratis/diff/813db4b7

Branch: refs/heads/master
Commit: 813db4b7847891bb76164fd663a732927d7d25a4
Parents: d960d1e d16c5c6
Author: Jitendra Pandey <jiten...@apache.org>
Authored: Tue Jan 31 13:15:45 2017 -0800
Committer: Jitendra Pandey <jiten...@apache.org>
Committed: Tue Jan 31 13:15:45 2017 -0800

----------------------------------------------------------------------
 .gitignore                                      |   17 +
 BUILD.md                                        |   11 +
 README.md                                       |   10 +
 pom.xml                                         |  252 +++
 ratis-client/pom.xml                            |   54 +
 .../org/apache/ratis/client/RaftClient.java     |  123 ++
 .../ratis/client/RaftClientConfigKeys.java      |   23 +
 .../ratis/client/RaftClientRequestSender.java   |   34 +
 .../ratis/client/impl/ClientImplUtils.java      |   33 +
 .../ratis/client/impl/ClientProtoUtils.java     |  131 ++
 .../ratis/client/impl/RaftClientImpl.java       |  163 ++
 ratis-common/RatisCommon.cmake                  |  208 +++
 ratis-common/RatisJNI.cmake                     |   97 +
 ratis-common/pom.xml                            |  143 ++
 ratis-common/src/CMakeLists.txt                 |  108 ++
 ratis-common/src/config.h.cmake                 |   24 +
 ratis-common/src/main/conf/log4j.properties     |   74 +
 .../org/apache/ratis/conf/RaftProperties.java   | 1658 ++++++++++++++++++
 .../main/java/org/apache/ratis/io/MD5Hash.java  |  205 +++
 .../org/apache/ratis/io/nativeio/Errno.java     |   64 +
 .../org/apache/ratis/io/nativeio/NativeIO.java  |  805 +++++++++
 .../ratis/io/nativeio/NativeIOException.java    |   70 +
 .../ratis/protocol/AlreadyExistsException.java  |   36 +
 .../ratis/protocol/ChecksumException.java       |   35 +
 .../java/org/apache/ratis/protocol/Message.java |   30 +
 .../ratis/protocol/NotLeaderException.java      |   40 +
 .../RaftClientAsynchronousProtocol.java         |   30 +
 .../ratis/protocol/RaftClientProtocol.java      |   26 +
 .../apache/ratis/protocol/RaftClientReply.java  |   91 +
 .../ratis/protocol/RaftClientRequest.java       |   73 +
 .../apache/ratis/protocol/RaftException.java    |   36 +
 .../org/apache/ratis/protocol/RaftPeer.java     |   79 +
 .../apache/ratis/protocol/RaftRpcMessage.java   |   33 +
 .../ReconfigurationInProgressException.java     |   24 +
 .../ReconfigurationTimeoutException.java        |   24 +
 .../ratis/protocol/SetConfigurationRequest.java |   39 +
 .../ratis/protocol/StateMachineException.java   |   28 +
 .../ratis/util/AtomicFileOutputStream.java      |  112 ++
 .../apache/ratis/util/AutoCloseableLock.java    |   57 +
 .../org/apache/ratis/util/CheckedFunction.java  |   30 +
 .../org/apache/ratis/util/CheckedRunnable.java  |   28 +
 .../ratis/util/CodeInjectionForTesting.java     |   67 +
 .../main/java/org/apache/ratis/util/Daemon.java |   35 +
 .../java/org/apache/ratis/util/ExitUtils.java   |   98 ++
 .../java/org/apache/ratis/util/FileUtils.java   |  207 +++
 .../java/org/apache/ratis/util/LifeCycle.java   |  210 +++
 .../java/org/apache/ratis/util/MD5FileUtil.java |  177 ++
 .../org/apache/ratis/util/NativeCodeLoader.java |   70 +
 .../java/org/apache/ratis/util/NativeCrc32.java |  143 ++
 .../apache/ratis/util/NativeLibraryChecker.java |   64 +
 .../java/org/apache/ratis/util/NetUtils.java    |  151 ++
 .../org/apache/ratis/util/PeerProxyMap.java     |  128 ++
 .../java/org/apache/ratis/util/ProtoUtils.java  |  147 ++
 .../org/apache/ratis/util/PureJavaCrc32.java    |  619 +++++++
 .../org/apache/ratis/util/PureJavaCrc32C.java   |  632 +++++++
 .../java/org/apache/ratis/util/RaftUtils.java   |  240 +++
 .../java/org/apache/ratis/util/StringUtils.java |  108 ++
 .../java/org/apache/ratis/util/Timestamp.java   |   84 +
 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 +++++++++++
 .../org/apache/ratis/io/nativeio/errno_enum.c   |  123 ++
 .../org/apache/ratis/io/nativeio/errno_enum.h   |   27 +
 .../apache/ratis/io/nativeio/file_descriptor.c  |  115 ++
 .../apache/ratis/io/nativeio/file_descriptor.h  |   36 +
 .../org/apache/ratis/util/NativeCodeLoader.c    |   56 +
 .../src/org/apache/ratis/util/NativeCrc32.c     |  276 +++
 .../src/org/apache/ratis/util/bulk_crc32.c      |  244 +++
 .../src/org/apache/ratis/util/bulk_crc32.h      |   73 +
 .../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 ++++++
 .../org/apache/ratis/util/gcc_optimizations.h   |   30 +
 .../src/main/native/src/org_apache_ratis.h      |  189 ++
 .../org/apache/ratis/util/test_bulk_crc32.c     |  113 ++
 .../org/apache/ratis/util/TestLifeCycle.java    |   54 +
 ratis-examples/pom.xml                          |  130 ++
 .../arithmetic/ArithmeticStateMachine.java      |  181 ++
 .../examples/arithmetic/AssignmentMessage.java  |   83 +
 .../ratis/examples/arithmetic/Evaluable.java    |   24 +
 .../arithmetic/expression/BinaryExpression.java |  103 ++
 .../arithmetic/expression/DoubleValue.java      |   61 +
 .../arithmetic/expression/Expression.java       |  112 ++
 .../arithmetic/expression/NullValue.java        |   55 +
 .../arithmetic/expression/UnaryExpression.java  |   95 +
 .../arithmetic/expression/Variable.java         |  126 ++
 .../java/org/apache/ratis/TestBatchAppend.java  |  172 ++
 .../org/apache/ratis/TestRestartRaftPeer.java   |  116 ++
 .../ratis/examples/RaftExamplesTestUtil.java    |   90 +
 .../examples/arithmetic/TestArithmetic.java     |  106 ++
 .../arithmetic/expression/TestExpression.java   |  107 ++
 .../TestRaftStateMachineException.java          |   88 +
 .../src/test/resources/log4j.properties         |   18 +
 ratis-grpc/pom.xml                              |   93 +
 .../org/apache/ratis/grpc/RaftGRpcService.java  |  185 ++
 .../apache/ratis/grpc/RaftGrpcConfigKeys.java   |   47 +
 .../org/apache/ratis/grpc/RaftGrpcUtil.java     |   87 +
 .../ratis/grpc/client/AppendStreamer.java       |  396 +++++
 .../grpc/client/RaftClientProtocolClient.java   |   73 +
 .../grpc/client/RaftClientProtocolProxy.java    |  104 ++
 .../grpc/client/RaftClientProtocolService.java  |  195 ++
 .../grpc/client/RaftClientSenderWithGrpc.java   |  119 ++
 .../ratis/grpc/client/RaftOutputStream.java     |  112 ++
 .../ratis/grpc/server/GRpcLogAppender.java      |  416 +++++
 .../server/PipelinedLogAppenderFactory.java     |   32 +
 .../grpc/server/RaftServerProtocolClient.java   |   63 +
 .../grpc/server/RaftServerProtocolService.java  |  116 ++
 .../ratis/grpc/MiniRaftClusterWithGRpc.java     |  144 ++
 .../grpc/TestNotLeaderExceptionWithGrpc.java    |   39 +
 .../grpc/TestRaftReconfigurationWithGRpc.java   |   47 +
 .../ratis/grpc/TestRaftSnapshotWithGrpc.java    |   32 +
 .../org/apache/ratis/grpc/TestRaftStream.java   |  319 ++++
 .../org/apache/ratis/grpc/TestRaftWithGrpc.java |   73 +
 ratis-grpc/src/test/resources/log4j.properties  |   18 +
 ratis-hadoop/pom.xml                            |   99 ++
 .../hadoop/ipc/ProtobufRpcEngineShaded.java     |  623 +++++++
 .../apache/ratis/hadooprpc/HadoopConstants.java |   29 +
 .../java/org/apache/ratis/hadooprpc/Proxy.java  |   55 +
 .../client/HadoopClientRequestSender.java       |   68 +
 ...aftClientProtocolClientSideTranslatorPB.java |   70 +
 .../hadooprpc/client/RaftClientProtocolPB.java  |   37 +
 ...aftClientProtocolServerSideTranslatorPB.java |   69 +
 .../hadooprpc/server/HadoopRpcService.java      |  209 +++
 .../hadooprpc/server/RaftServerProtocolPB.java  |   37 +
 ...aftServerProtocolServerSideTranslatorPB.java |   73 +
 .../hadooprpc/MiniRaftClusterWithHadoopRpc.java |  123 ++
 .../TestNotLeaderExceptionWithHadoopRpc.java    |   37 +
 .../TestRaftReconfigurationWithHadoopRpc.java   |   40 +
 .../TestRaftSnapshotWithHadoopRpc.java          |   32 +
 .../ratis/hadooprpc/TestRaftWithHadoopRpc.java  |   69 +
 .../src/test/resources/log4j.properties         |   18 +
 ratis-netty/pom.xml                             |   99 ++
 .../org/apache/ratis/netty/NettyClient.java     |   73 +
 .../org/apache/ratis/netty/NettyRpcProxy.java   |  186 ++
 .../netty/client/NettyClientRequestSender.java  |   71 +
 .../ratis/netty/server/NettyRpcService.java     |  275 +++
 .../ratis/netty/MiniRaftClusterWithNetty.java   |  117 ++
 .../netty/TestNotLeaderExceptionWithNetty.java  |   33 +
 .../netty/TestRaftReconfigurationWithNetty.java |   31 +
 .../ratis/netty/TestRaftSnapshotWithNetty.java  |   32 +
 .../apache/ratis/netty/TestRaftWithNetty.java   |   62 +
 ratis-netty/src/test/resources/log4j.properties |   18 +
 ratis-project-dist/pom.xml                      |  169 ++
 ratis-project/pom.xml                           |  409 +++++
 ratis-proto-shaded/.gitignore                   |    2 +
 ratis-proto-shaded/README.md                    |   23 +
 ratis-proto-shaded/pom.xml                      |  426 +++++
 ratis-proto-shaded/src/main/proto/GRpc.proto    |   45 +
 ratis-proto-shaded/src/main/proto/Hadoop.proto  |   44 +
 ratis-proto-shaded/src/main/proto/Netty.proto   |   49 +
 ratis-proto-shaded/src/main/proto/Raft.proto    |  165 ++
 ....ratis.shaded.io.grpc.ManagedChannelProvider |   16 +
 ...he.ratis.shaded.io.grpc.NameResolverProvider |   16 +
 ...g.apache.ratis.shaded.io.grpc.ServerProvider |   16 +
 ratis-server/pom.xml                            |   80 +
 .../org/apache/ratis/server/RaftServer.java     |   98 ++
 .../ratis/server/RaftServerConfigKeys.java      |  150 ++
 .../org/apache/ratis/server/RaftServerRpc.java  |   74 +
 .../ratis/server/impl/ConfigurationManager.java |   91 +
 .../apache/ratis/server/impl/FollowerInfo.java  |  103 ++
 .../apache/ratis/server/impl/FollowerState.java |   91 +
 .../ratis/server/impl/LeaderElection.java       |  247 +++
 .../apache/ratis/server/impl/LeaderState.java   |  601 +++++++
 .../apache/ratis/server/impl/LogAppender.java   |  494 ++++++
 .../ratis/server/impl/LogAppenderFactory.java   |   31 +
 .../ratis/server/impl/PeerConfiguration.java    |   91 +
 .../ratis/server/impl/PendingRequest.java       |   88 +
 .../ratis/server/impl/PendingRequests.java      |  130 ++
 .../ratis/server/impl/RaftConfiguration.java    |  262 +++
 .../ratis/server/impl/RaftServerConstants.java  |   46 +
 .../ratis/server/impl/RaftServerImpl.java       |  830 +++++++++
 .../ratis/server/impl/ServerImplUtils.java      |  101 ++
 .../ratis/server/impl/ServerProtoUtils.java     |  191 ++
 .../apache/ratis/server/impl/ServerState.java   |  350 ++++
 .../ratis/server/impl/StateMachineUpdater.java  |  214 +++
 .../server/protocol/RaftServerProtocol.java     |   36 +
 .../apache/ratis/server/protocol/TermIndex.java |   36 +
 .../server/storage/BufferedChannelBase.java     |   52 +
 .../server/storage/BufferedWriteChannel.java    |  159 ++
 .../apache/ratis/server/storage/FileInfo.java   |   59 +
 .../ratis/server/storage/LogInputStream.java    |  259 +++
 .../ratis/server/storage/LogOutputStream.java   |  181 ++
 .../apache/ratis/server/storage/LogReader.java  |  302 ++++
 .../apache/ratis/server/storage/LogSegment.java |  233 +++
 .../ratis/server/storage/MemoryRaftLog.java     |  183 ++
 .../apache/ratis/server/storage/MetaFile.java   |  131 ++
 .../apache/ratis/server/storage/RaftLog.java    |  293 ++++
 .../ratis/server/storage/RaftLogCache.java      |  328 ++++
 .../ratis/server/storage/RaftLogWorker.java     |  371 ++++
 .../ratis/server/storage/RaftStorage.java       |  145 ++
 .../server/storage/RaftStorageDirectory.java    |  361 ++++
 .../ratis/server/storage/SegmentedRaftLog.java  |  328 ++++
 .../ratis/server/storage/SnapshotManager.java   |  134 ++
 .../ratis/statemachine/BaseStateMachine.java    |  151 ++
 .../statemachine/FileListSnapshotInfo.java      |   64 +
 .../statemachine/SimpleStateMachineStorage.java |  135 ++
 .../statemachine/SingleFileSnapshotInfo.java    |   38 +
 .../apache/ratis/statemachine/SnapshotInfo.java |   58 +
 .../apache/ratis/statemachine/StateMachine.java |  168 ++
 .../ratis/statemachine/StateMachineStorage.java |   40 +
 .../ratis/statemachine/TransactionContext.java  |  210 +++
 .../java/org/apache/ratis/MiniRaftCluster.java  |  453 +++++
 .../java/org/apache/ratis/RaftBasicTests.java   |  199 +++
 .../ratis/RaftNotLeaderExceptionBaseTest.java   |  161 ++
 .../java/org/apache/ratis/RaftTestUtil.java     |  306 ++++
 .../impl/BlockRequestHandlingInjection.java     |   85 +
 .../impl/DelayLocalExecutionInjection.java      |   67 +
 .../impl/RaftReconfigurationBaseTest.java       |  576 ++++++
 .../ratis/server/impl/RaftServerTestUtil.java   |   76 +
 .../MiniRaftClusterWithSimulatedRpc.java        |  136 ++
 .../server/simulation/RaftServerReply.java      |  100 ++
 .../server/simulation/RaftServerRequest.java    |   98 ++
 .../ratis/server/simulation/RequestHandler.java |  134 ++
 .../simulation/SimulatedClientRequestReply.java |   45 +
 .../simulation/SimulatedRequestReply.java       |  202 +++
 .../server/simulation/SimulatedServerRpc.java   |  175 ++
 .../TestNotLeaderExceptionWithSimulation.java   |   32 +
 ...TestRaftReconfigurationWithSimulatedRpc.java |   31 +
 .../TestRaftSnapshotWithSimulatedRpc.java       |   32 +
 .../simulation/TestRaftWithSimulatedRpc.java    |   51 +
 .../ratis/server/storage/TestRaftLogCache.java  |  255 +++
 .../server/storage/TestRaftLogReadWrite.java    |  269 +++
 .../server/storage/TestRaftLogSegment.java      |  305 ++++
 .../ratis/server/storage/TestRaftStorage.java   |  215 +++
 .../server/storage/TestSegmentedRaftLog.java    |  330 ++++
 .../statemachine/RaftSnapshotBaseTest.java      |  214 +++
 .../SimpleStateMachine4Testing.java             |  246 +++
 .../ratis/statemachine/TermIndexTracker.java    |   67 +
 .../ratis/statemachine/TestStateMachine.java    |  192 ++
 .../src/test/resources/log4j.properties         |   18 +
 231 files changed, 35102 insertions(+)
----------------------------------------------------------------------


Reply via email to