You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by ji...@apache.org on 2017/01/31 21:17:00 UTC

[15/54] [abbrv] incubator-ratis git commit: Small fixes to RaftServer and StateMachine related interfaces after recent refactorings

Small fixes to RaftServer and StateMachine related interfaces after recent refactorings


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

Branch: refs/heads/master
Commit: bdd516434a39714632dc4e563ed055348ef84c4f
Parents: f58b5ef
Author: Enis Soztutar <en...@apache.org>
Authored: Fri Jan 6 14:15:14 2017 -0800
Committer: Enis Soztutar <en...@apache.org>
Committed: Fri Jan 6 14:15:23 2017 -0800

----------------------------------------------------------------------
 raft-server/pom.xml                                           | 1 -
 .../src/main/java/org/apache/raft/server/RaftServer.java      | 7 +++++++
 .../main/java/org/apache/raft/server/impl/RaftServerImpl.java | 3 ++-
 .../main/java/org/apache/raft/statemachine/StateMachine.java  | 5 +++++
 .../java/org/apache/raft/statemachine/TransactionContext.java | 2 +-
 5 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/bdd51643/raft-server/pom.xml
----------------------------------------------------------------------
diff --git a/raft-server/pom.xml b/raft-server/pom.xml
index 584dc9a..d992306 100644
--- a/raft-server/pom.xml
+++ b/raft-server/pom.xml
@@ -30,7 +30,6 @@
     <dependency>
       <artifactId>raft-proto-shaded</artifactId>
       <groupId>com.hortonworks.raft</groupId>
-      <scope>provided</scope>
     </dependency>
 
     <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/bdd51643/raft-server/src/main/java/org/apache/raft/server/RaftServer.java
----------------------------------------------------------------------
diff --git a/raft-server/src/main/java/org/apache/raft/server/RaftServer.java b/raft-server/src/main/java/org/apache/raft/server/RaftServer.java
index aa4dfbf..bb49c5a 100644
--- a/raft-server/src/main/java/org/apache/raft/server/RaftServer.java
+++ b/raft-server/src/main/java/org/apache/raft/server/RaftServer.java
@@ -20,6 +20,7 @@ package org.apache.raft.server;
 import org.apache.raft.protocol.RaftClientAsynchronousProtocol;
 import org.apache.raft.protocol.RaftClientProtocol;
 import org.apache.raft.server.protocol.RaftServerProtocol;
+import org.apache.raft.statemachine.StateMachine;
 
 import java.io.Closeable;
 
@@ -34,4 +35,10 @@ public interface RaftServer extends Closeable, RaftServerProtocol,
 
   /** Start this server. */
   void start();
+
+  /**
+   * Returns the StateMachine instance.
+   * @return the StateMachine instance.
+   */
+  StateMachine getStateMachine();
 }

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/bdd51643/raft-server/src/main/java/org/apache/raft/server/impl/RaftServerImpl.java
----------------------------------------------------------------------
diff --git a/raft-server/src/main/java/org/apache/raft/server/impl/RaftServerImpl.java b/raft-server/src/main/java/org/apache/raft/server/impl/RaftServerImpl.java
index c8a2e28..4b8c442 100644
--- a/raft-server/src/main/java/org/apache/raft/server/impl/RaftServerImpl.java
+++ b/raft-server/src/main/java/org/apache/raft/server/impl/RaftServerImpl.java
@@ -114,7 +114,8 @@ public class RaftServerImpl implements RaftServer {
     return RaftUtils.getRandomBetween(minTimeoutMs, maxTimeoutMs);
   }
 
-  StateMachine getStateMachine() {
+  @Override
+  public StateMachine getStateMachine() {
     return this.stateMachine;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/bdd51643/raft-server/src/main/java/org/apache/raft/statemachine/StateMachine.java
----------------------------------------------------------------------
diff --git a/raft-server/src/main/java/org/apache/raft/statemachine/StateMachine.java b/raft-server/src/main/java/org/apache/raft/statemachine/StateMachine.java
index 935a83a..3dedf88 100644
--- a/raft-server/src/main/java/org/apache/raft/statemachine/StateMachine.java
+++ b/raft-server/src/main/java/org/apache/raft/statemachine/StateMachine.java
@@ -31,6 +31,11 @@ import java.io.IOException;
 import java.util.Collection;
 import java.util.concurrent.CompletableFuture;
 
+/**
+ * StateMachine is the entry point for the custom implementation of replicated state as defined in
+ * the "State Machine Approach" in the literature
+ * (see https://en.wikipedia.org/wiki/State_machine_replication).
+ */
 public interface StateMachine extends Closeable {
   /**
    * Initializes the State Machine with the given properties and storage. The state machine is

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/bdd51643/raft-server/src/main/java/org/apache/raft/statemachine/TransactionContext.java
----------------------------------------------------------------------
diff --git a/raft-server/src/main/java/org/apache/raft/statemachine/TransactionContext.java b/raft-server/src/main/java/org/apache/raft/statemachine/TransactionContext.java
index 19b8250..675ada9 100644
--- a/raft-server/src/main/java/org/apache/raft/statemachine/TransactionContext.java
+++ b/raft-server/src/main/java/org/apache/raft/statemachine/TransactionContext.java
@@ -97,7 +97,7 @@ public class TransactionContext {
       SMLogEntryProto smLogEntryProto, Object stateMachineContext) {
     this(stateMachine);
     this.clientRequest = Optional.of(clientRequest);
-    this.smLogEntryProto = Optional.of(smLogEntryProto);
+    this.smLogEntryProto = Optional.ofNullable(smLogEntryProto);
     this.stateMachineContext = Optional.ofNullable(stateMachineContext);
   }