vldpyatkov commented on code in PR #4005:
URL: https://github.com/apache/ignite-3/pull/4005#discussion_r1706115532


##########
modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java:
##########
@@ -202,9 +196,14 @@ public <T extends RaftGroupService> CompletableFuture<T> 
startRaftGroupNode(
             PeersAndLearners configuration,
             RaftGroupListener lsnr,
             RaftGroupEventsListener eventsLsnr,
-            RaftServiceFactory<T> factory
+            RaftServiceFactory<T> factory,
+            RaftOptionsConfigurator storageConfigurator

Review Comment:
   Why did you choose a closure instead of pojo with clear fields?



##########
modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java:
##########
@@ -314,25 +325,29 @@ public <T extends RaftGroupService> CompletableFuture<T> 
startRaftGroupNodeAndWa
             RaftGroupListener lsnr,
             RaftGroupEventsListener eventsLsnr,
             RaftNodeDisruptorConfiguration disruptorConfiguration,
-            @Nullable RaftServiceFactory<T> factory
+            @Nullable RaftServiceFactory<T> factory,
+            RaftOptionsConfigurator storageConfigurator
     ) throws NodeStoppingException {
         if (!busyLock.enterBusy()) {
             throw new NodeStoppingException();
         }
 
         try {
-            CompletableFuture<T> startRaftServiceFuture = 
startRaftGroupNodeInternal(
+            RaftGroupOptions raftGroupOptions = RaftGroupOptions.defaults();
+
+            storageConfigurator.configure(raftGroupOptions);
+
+            
raftGroupOptions.ownFsmCallerExecutorDisruptorConfig(disruptorConfiguration);

Review Comment:
   Why don't we reduce this method from Loza and add this setter to the raft 
option configuration closure (msRaftConfigurator)?



##########
modules/replicator/src/main/java/org/apache/ignite/internal/replicator/ReplicaManager.java:
##########
@@ -855,6 +862,8 @@ private RaftGroupOptions groupOptionsForPartition(boolean 
isVolatileStorage, Sna
 
         raftGroupOptions.commandsMarshaller(raftCommandsMarshaller);
 
+        partitionRaftConfigurator.configure(raftGroupOptions);

Review Comment:
   Only Loza do this in code above. Why do you think it ought to be done 
explicitly before Loza is called?



##########
modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java:
##########
@@ -405,6 +407,12 @@ public class IgniteImpl implements Ignite {
     /** Default log storage factory for raft. */
     private final LogStorageFactory logStorageFactory;
 
+    private final LogStorageFactory mslogStorageFactory;

Review Comment:
   Rename to ms**L**ogStorageFactory



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to