You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by "tkalkirill (via GitHub)" <gi...@apache.org> on 2023/06/26 04:51:26 UTC

[GitHub] [ignite-3] tkalkirill commented on a diff in pull request #2251: IGNITE-19831 Rename RaftManager methods to better reflect their behavior

tkalkirill commented on code in PR #2251:
URL: https://github.com/apache/ignite-3/pull/2251#discussion_r1241526721


##########
modules/raft-api/src/main/java/org/apache/ignite/internal/raft/RaftManager.java:
##########
@@ -26,61 +26,91 @@
 
 /**
  * Raft manager.
+ *
+ * <p>This class contains two groups of methods for starting Raft nodes: {@code #startRaftGroupNode} and
+ * {@code startRaftGroupNodeAndWaitNodeReadyFuture} (and its overloads). When using {@code #startRaftGroupNode}, Raft log re-application

Review Comment:
   Give an example when it is not necessary to wait for reapplying the log.



##########
modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/server/OnRevisionAppliedCallback.java:
##########
@@ -29,7 +29,7 @@ public interface OnRevisionAppliedCallback {
     /**
      * Notifies of completion of processing of Meta Storage watches for a particular revision.
      *
-     * @param watchEvent Event with modified Meta Storage entries processed at least one Watch.

Review Comment:
   According to the ticket description, this does not need to be corrected in this ticket.



##########
modules/raft-api/src/main/java/org/apache/ignite/internal/raft/RaftManager.java:
##########
@@ -26,61 +26,91 @@
 
 /**
  * Raft manager.
+ *
+ * <p>This class contains two groups of methods for starting Raft nodes: {@code #startRaftGroupNode} and
+ * {@code startRaftGroupNodeAndWaitNodeReadyFuture} (and its overloads). When using {@code #startRaftGroupNode}, Raft log re-application
+ * does not get performed and external synchronisation methods must be used to avoid observing a Raft node in inconsistent state. The other
+ * group of methods synchronously waits for the Raft log to be re-applied, so no external synchronisation is required.
  */
 public interface RaftManager extends IgniteComponent {
+    /**
+     * Starts a Raft group and a Raft service on the current node, using the given service factory.

Review Comment:
   Add to the description that it doesn't wait for the raft log to be applied.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@ignite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org