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

ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 9282bda9b9 IGNITE-20803 Split ActionRequest into 2 interfaces (#2814)
9282bda9b9 is described below

commit 9282bda9b982229ec714f93c3839f75a8dd329f4
Author: Ivan Bessonov <bessonov...@gmail.com>
AuthorDate: Wed Nov 8 13:15:47 2023 +0300

    IGNITE-20803 Split ActionRequest into 2 interfaces (#2814)
---
 .../ignite/internal/raft/RaftGroupServiceImpl.java | 19 +++++++++----
 .../apache/ignite/raft/jraft/RaftMessageGroup.java | 14 +++++++---
 .../ignite/raft/jraft/rpc/ActionRequest.java       | 17 +-----------
 .../{ActionRequest.java => ReadActionRequest.java} | 21 ++++++---------
 ...{ActionRequest.java => WriteActionRequest.java} | 24 +++++------------
 .../jraft/rpc/impl/ActionRequestProcessor.java     | 21 ++++++++++-----
 .../raft/jraft/rpc/impl/IgniteRpcServer.java       | 31 +++++++++++++++-------
 .../ignite/internal/raft/RaftGroupServiceTest.java |  3 ++-
 .../raftsnapshot/ItTableRaftSnapshotsTest.java     |  6 ++---
 .../internal/sql/engine/ItBuildIndexTest.java      |  6 ++---
 .../schema/CheckCatalogVersionOnActionRequest.java |  7 ++++-
 .../CheckCatalogVersionOnActionRequestTest.java    | 16 +++++------
 12 files changed, 97 insertions(+), 88 deletions(-)

diff --git 
a/modules/raft/src/main/java/org/apache/ignite/internal/raft/RaftGroupServiceImpl.java
 
b/modules/raft/src/main/java/org/apache/ignite/internal/raft/RaftGroupServiceImpl.java
index 5b3eaaab35..4e36c5aa67 100644
--- 
a/modules/raft/src/main/java/org/apache/ignite/internal/raft/RaftGroupServiceImpl.java
+++ 
b/modules/raft/src/main/java/org/apache/ignite/internal/raft/RaftGroupServiceImpl.java
@@ -449,11 +449,20 @@ public class RaftGroupServiceImpl implements 
RaftGroupService {
             return refreshLeader().thenCompose(res -> run(cmd));
         }
 
-        Function<Peer, ActionRequest> requestFactory = targetPeer -> 
factory.actionRequest()
-                .command(cmd)
-                .groupId(groupId)
-                .readOnlySafe(true)
-                .build();
+        Function<Peer, ActionRequest> requestFactory;
+
+        if (cmd instanceof WriteCommand) {
+            requestFactory = targetPeer -> factory.writeActionRequest()
+                    .groupId(groupId)
+                    .command((WriteCommand) cmd)
+                    .build();
+        } else {
+            requestFactory = targetPeer -> factory.readActionRequest()
+                    .groupId(groupId)
+                    .command((ReadCommand) cmd)
+                    .readOnlySafe(true)
+                    .build();
+        }
 
         return this.<ActionResponse>sendWithRetry(leader, requestFactory)
                 .thenApply(resp -> (R) resp.result());
diff --git 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/RaftMessageGroup.java 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/RaftMessageGroup.java
index 1f407204ce..75266aba7a 100644
--- 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/RaftMessageGroup.java
+++ 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/RaftMessageGroup.java
@@ -19,10 +19,11 @@ package org.apache.ignite.raft.jraft;
 
 import org.apache.ignite.network.annotations.MessageGroup;
 import org.apache.ignite.raft.jraft.entity.RaftOutter;
-import org.apache.ignite.raft.jraft.rpc.ActionRequest;
 import org.apache.ignite.raft.jraft.rpc.ActionResponse;
 import org.apache.ignite.raft.jraft.rpc.CliRequests;
+import org.apache.ignite.raft.jraft.rpc.ReadActionRequest;
 import org.apache.ignite.raft.jraft.rpc.RpcRequests;
+import org.apache.ignite.raft.jraft.rpc.WriteActionRequest;
 
 /**
  * Message group for the Raft module.
@@ -178,13 +179,18 @@ public class RaftMessageGroup {
      */
     public static final class RpcActionMessageGroup {
         /**
-         * Message type for {@link ActionRequest}.
+         * Message type for {@link ReadActionRequest}.
          */
-        public static final short ACTION_REQUEST = 4000;
+        public static final short READ_ACTION_REQUEST = 4000;
+
+        /**
+         * Message type for {@link WriteActionRequest}.
+         */
+        public static final short WRITE_ACTION_REQUEST = 4001;
 
         /**
          * Message type for {@link ActionResponse}.
          */
-        public static final short ACTION_RESPONSE = 4001;
+        public static final short ACTION_RESPONSE = 4002;
     }
 }
diff --git 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ActionRequest.java
 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ActionRequest.java
index 9659be3992..1a3cc992dc 100644
--- 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ActionRequest.java
+++ 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ActionRequest.java
@@ -17,27 +17,12 @@
 
 package org.apache.ignite.raft.jraft.rpc;
 
-import org.apache.ignite.network.annotations.Transferable;
-import org.apache.ignite.internal.raft.Command;
-import org.apache.ignite.raft.jraft.RaftMessageGroup;
-
 /**
- * Submit an action to a replication group.
+ * Common interface for {@link ReadActionRequest} and {@link 
WriteActionRequest}.
  */
-@Transferable(RaftMessageGroup.RpcActionMessageGroup.ACTION_REQUEST)
 public interface ActionRequest extends Message {
     /**
      * @return Group id.
      */
     String groupId();
-
-    /**
-     * @return Action's command.
-     */
-    Command command();
-
-    /**
-     * @return {@code True} for linearizable reading.
-     */
-    boolean readOnlySafe();
 }
diff --git 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ActionRequest.java
 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ReadActionRequest.java
similarity index 69%
copy from 
modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ActionRequest.java
copy to 
modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ReadActionRequest.java
index 9659be3992..a6a754e7d8 100644
--- 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ActionRequest.java
+++ 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ReadActionRequest.java
@@ -17,27 +17,22 @@
 
 package org.apache.ignite.raft.jraft.rpc;
 
+import org.apache.ignite.internal.raft.ReadCommand;
 import org.apache.ignite.network.annotations.Transferable;
-import org.apache.ignite.internal.raft.Command;
-import org.apache.ignite.raft.jraft.RaftMessageGroup;
+import org.apache.ignite.raft.jraft.RaftMessageGroup.RpcActionMessageGroup;
 
 /**
- * Submit an action to a replication group.
+ * Submit a read action to a replication group.
  */
-@Transferable(RaftMessageGroup.RpcActionMessageGroup.ACTION_REQUEST)
-public interface ActionRequest extends Message {
+@Transferable(RpcActionMessageGroup.READ_ACTION_REQUEST)
+public interface ReadActionRequest extends ActionRequest {
     /**
-     * @return Group id.
+     * Returns an action's command.
      */
-    String groupId();
+    ReadCommand command();
 
     /**
-     * @return Action's command.
-     */
-    Command command();
-
-    /**
-     * @return {@code True} for linearizable reading.
+     * Returns {@code True} for linearizable reading.
      */
     boolean readOnlySafe();
 }
diff --git 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ActionRequest.java
 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/WriteActionRequest.java
similarity index 65%
copy from 
modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ActionRequest.java
copy to 
modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/WriteActionRequest.java
index 9659be3992..14ef3852e6 100644
--- 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/ActionRequest.java
+++ 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/WriteActionRequest.java
@@ -17,27 +17,17 @@
 
 package org.apache.ignite.raft.jraft.rpc;
 
+import org.apache.ignite.internal.raft.WriteCommand;
 import org.apache.ignite.network.annotations.Transferable;
-import org.apache.ignite.internal.raft.Command;
-import org.apache.ignite.raft.jraft.RaftMessageGroup;
+import org.apache.ignite.raft.jraft.RaftMessageGroup.RpcActionMessageGroup;
 
 /**
- * Submit an action to a replication group.
+ * Submit a  write action to a replication group.
  */
-@Transferable(RaftMessageGroup.RpcActionMessageGroup.ACTION_REQUEST)
-public interface ActionRequest extends Message {
+@Transferable(RpcActionMessageGroup.WRITE_ACTION_REQUEST)
+public interface WriteActionRequest extends ActionRequest {
     /**
-     * @return Group id.
+     * Returns an action's command.
      */
-    String groupId();
-
-    /**
-     * @return Action's command.
-     */
-    Command command();
-
-    /**
-     * @return {@code True} for linearizable reading.
-     */
-    boolean readOnlySafe();
+    WriteCommand command();
 }
diff --git 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/impl/ActionRequestProcessor.java
 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/impl/ActionRequestProcessor.java
index cd320381b1..02273d94e9 100644
--- 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/impl/ActionRequestProcessor.java
+++ 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/impl/ActionRequestProcessor.java
@@ -42,9 +42,11 @@ import org.apache.ignite.raft.jraft.error.RaftError;
 import org.apache.ignite.raft.jraft.rpc.ActionRequest;
 import org.apache.ignite.raft.jraft.rpc.Message;
 import org.apache.ignite.raft.jraft.rpc.RaftRpcFactory;
+import org.apache.ignite.raft.jraft.rpc.ReadActionRequest;
 import org.apache.ignite.raft.jraft.rpc.RpcContext;
 import org.apache.ignite.raft.jraft.rpc.RpcProcessor;
 import org.apache.ignite.raft.jraft.rpc.RpcRequests;
+import org.apache.ignite.raft.jraft.rpc.WriteActionRequest;
 import org.apache.ignite.raft.jraft.util.BytesUtil;
 import org.apache.ignite.raft.jraft.util.Marshaller;
 
@@ -82,25 +84,30 @@ public class ActionRequestProcessor implements 
RpcProcessor<ActionRequest> {
 
         JraftServerImpl.DelegatingStateMachine fsm = 
(JraftServerImpl.DelegatingStateMachine) node.getOptions().getFsm();
 
-        if (request.command() instanceof WriteCommand) {
+        if (request instanceof WriteActionRequest) {
             if (fsm.getListener() instanceof BeforeApplyHandler) {
                 synchronized (groupIdSyncMonitor(request.groupId())) {
                     callOnBeforeApply(request, fsm);
-                    applyWrite(node, request, rpcCtx);
+                    applyWrite(node, (WriteActionRequest) request, rpcCtx);
                 }
             } else {
-                applyWrite(node, request, rpcCtx);
+                applyWrite(node, (WriteActionRequest) request, rpcCtx);
             }
         } else {
             if (fsm.getListener() instanceof BeforeApplyHandler) {
                 callOnBeforeApply(request, fsm);
             }
 
-            applyRead(node, request, rpcCtx);
+            applyRead(node, (ReadActionRequest) request, rpcCtx);
         }
     }
+
     private static void callOnBeforeApply(ActionRequest request, 
DelegatingStateMachine fsm) {
-        ((BeforeApplyHandler) 
fsm.getListener()).onBeforeApply(request.command());
+        Command command = request instanceof WriteActionRequest
+                ? ((WriteActionRequest) request).command()
+                : ((ReadActionRequest) request).command();
+
+        ((BeforeApplyHandler) fsm.getListener()).onBeforeApply(command);
     }
 
     private Object groupIdSyncMonitor(String groupId) {
@@ -114,7 +121,7 @@ public class ActionRequestProcessor implements 
RpcProcessor<ActionRequest> {
      * @param request The request.
      * @param rpcCtx  The context.
      */
-    private void applyWrite(Node node, ActionRequest request, RpcContext 
rpcCtx) {
+    private void applyWrite(Node node, WriteActionRequest request, RpcContext 
rpcCtx) {
         Marshaller commandsMarshaller = 
node.getOptions().getCommandsMarshaller();
 
         assert commandsMarshaller != null;
@@ -146,7 +153,7 @@ public class ActionRequestProcessor implements 
RpcProcessor<ActionRequest> {
      * @param request The request.
      * @param rpcCtx  The context.
      */
-    private void applyRead(Node node, ActionRequest request, RpcContext 
rpcCtx) {
+    private void applyRead(Node node, ReadActionRequest request, RpcContext 
rpcCtx) {
         if (request.readOnlySafe()) {
             node.readIndex(BytesUtil.EMPTY_BYTES, new ReadIndexClosure() {
                 @Override public void run(Status status, long index, byte[] 
reqCtx) {
diff --git 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/impl/IgniteRpcServer.java
 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/impl/IgniteRpcServer.java
index c4e0c8e1f6..49bff47ece 100644
--- 
a/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/impl/IgniteRpcServer.java
+++ 
b/modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/impl/IgniteRpcServer.java
@@ -155,7 +155,6 @@ public class IgniteRpcServer implements RpcServer<Void> {
         /** {@inheritDoc} */
         @Override public void onReceived(NetworkMessage message, String 
senderConsistentId, @Nullable Long correlationId) {
             Class<? extends NetworkMessage> cls = message.getClass();
-            RpcProcessor<NetworkMessage> prc = processors.get(cls.getName());
 
             ClusterNode sender = 
clusterService().topologyService().getByConsistentId(senderConsistentId);
 
@@ -163,15 +162,7 @@ public class IgniteRpcServer implements RpcServer<Void> {
                 throw new UnresolvableConsistentIdException("No node by 
consistent ID " + senderConsistentId);
             }
 
-            // TODO asch cache mapping 
https://issues.apache.org/jira/browse/IGNITE-14832
-            if (prc == null) {
-                for (Class<?> iface : cls.getInterfaces()) {
-                    prc = processors.get(iface.getName());
-
-                    if (prc != null)
-                        break;
-                }
-            }
+            RpcProcessor<NetworkMessage> prc = getProcessor(cls, cls);
 
             if (prc == null)
                 return;
@@ -197,6 +188,26 @@ public class IgniteRpcServer implements RpcServer<Void> {
                 LOG.warn("A request execution was rejected [sender={} req={} 
reason={}]", sender, S.toString(message), e.getMessage());
             }
         }
+
+        private @Nullable RpcProcessor<NetworkMessage> getProcessor(Class<?> 
origin, Class<?> cls) {
+            RpcProcessor<NetworkMessage> prc = processors.get(cls.getName());
+
+            if (prc != null) {
+                return prc;
+            }
+
+            for (Class<?> iface : cls.getInterfaces()) {
+                prc = getProcessor(origin, iface);
+
+                if (prc != null) {
+                    processors.putIfAbsent(origin.getName(), prc);
+
+                    return prc;
+                }
+            }
+
+            return null;
+        }
     }
 
     /**
diff --git 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/RaftGroupServiceTest.java
 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/RaftGroupServiceTest.java
index 04f1f68b68..f7a56f21ed 100644
--- 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/RaftGroupServiceTest.java
+++ 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/RaftGroupServiceTest.java
@@ -86,6 +86,7 @@ import 
org.apache.ignite.raft.jraft.rpc.CliRequests.TransferLeaderRequest;
 import org.apache.ignite.raft.jraft.rpc.RaftRpcFactory;
 import org.apache.ignite.raft.jraft.rpc.RpcRequests.ErrorResponse;
 import org.apache.ignite.raft.jraft.rpc.RpcRequests.ReadIndexRequest;
+import org.apache.ignite.raft.jraft.rpc.WriteActionRequest;
 import org.apache.ignite.raft.jraft.rpc.impl.RaftException;
 import org.jetbrains.annotations.Nullable;
 import org.junit.jupiter.api.AfterEach;
@@ -617,7 +618,7 @@ public class RaftGroupServiceTest extends 
BaseIgniteAbstractTest {
                 argThat(new ArgumentMatcher<ActionRequest>() {
                     @Override
                     public boolean matches(ActionRequest arg) {
-                        return arg.command() instanceof TestWriteCommand;
+                        return arg instanceof WriteActionRequest && 
((WriteActionRequest) arg).command() instanceof TestWriteCommand;
                     }
                 }),
                 anyLong()
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItTableRaftSnapshotsTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItTableRaftSnapshotsTest.java
index 2c97b2b7b4..82cd9629a7 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItTableRaftSnapshotsTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItTableRaftSnapshotsTest.java
@@ -83,7 +83,6 @@ import org.apache.ignite.raft.jraft.RaftMessagesFactory;
 import org.apache.ignite.raft.jraft.Status;
 import org.apache.ignite.raft.jraft.core.Replicator;
 import org.apache.ignite.raft.jraft.error.RaftError;
-import org.apache.ignite.raft.jraft.rpc.ActionRequest;
 import org.apache.ignite.raft.jraft.rpc.Message;
 import org.apache.ignite.raft.jraft.rpc.RaftRpcFactory;
 import org.apache.ignite.raft.jraft.rpc.RaftServerService;
@@ -92,6 +91,7 @@ import org.apache.ignite.raft.jraft.rpc.RpcRequestClosure;
 import org.apache.ignite.raft.jraft.rpc.RpcRequestProcessor;
 import org.apache.ignite.raft.jraft.rpc.RpcRequests.AppendEntriesRequest;
 import org.apache.ignite.raft.jraft.rpc.RpcServer;
+import org.apache.ignite.raft.jraft.rpc.WriteActionRequest;
 import org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcServer;
 import 
org.apache.ignite.raft.jraft.rpc.impl.core.AppendEntriesRequestProcessor;
 import org.apache.ignite.raft.jraft.storage.snapshot.SnapshotExecutorImpl;
@@ -667,8 +667,8 @@ class ItTableRaftSnapshotsTest extends 
IgniteIntegrationTest {
         try {
             prepareClusterForInstallingSnapshotToNode2(DEFAULT_STORAGE_ENGINE, 
theCluster -> {
                 BiPredicate<String, NetworkMessage> 
dropSafeTimeUntilSecondInstallSnapshotRequestIsProcessed = (recipientId, 
message) ->
-                        message instanceof ActionRequest
-                                && ((ActionRequest) message).command() 
instanceof SafeTimeSyncCommand
+                        message instanceof WriteActionRequest
+                                && ((WriteActionRequest) message).command() 
instanceof SafeTimeSyncCommand
                                 && 
!snapshotInstallFailedDueToIdenticalRetry.get();
 
                 theCluster.node(0).dropMessages(
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItBuildIndexTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItBuildIndexTest.java
index 151b1d6d38..21bfa15b83 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItBuildIndexTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItBuildIndexTest.java
@@ -48,7 +48,7 @@ import org.apache.ignite.internal.sql.BaseSqlIntegrationTest;
 import org.apache.ignite.internal.table.TableViewInternal;
 import org.apache.ignite.internal.table.distributed.command.BuildIndexCommand;
 import org.apache.ignite.network.NetworkMessage;
-import org.apache.ignite.raft.jraft.rpc.ActionRequest;
+import org.apache.ignite.raft.jraft.rpc.WriteActionRequest;
 import org.jetbrains.annotations.Nullable;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
@@ -241,8 +241,8 @@ public class ItBuildIndexTest extends 
BaseSqlIntegrationTest {
             boolean dropBuildIndexCommand
     ) {
         return (nodeConsistentId, networkMessage) -> {
-            if (networkMessage instanceof ActionRequest) {
-                Command command = ((ActionRequest) networkMessage).command();
+            if (networkMessage instanceof WriteActionRequest) {
+                Command command = ((WriteActionRequest) 
networkMessage).command();
 
                 if (command instanceof BuildIndexCommand) {
                     sendBuildIndexCommandFuture.complete(((BuildIndexCommand) 
command).indexId());
diff --git 
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/schema/CheckCatalogVersionOnActionRequest.java
 
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/schema/CheckCatalogVersionOnActionRequest.java
index c821e29883..47b90121bb 100644
--- 
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/schema/CheckCatalogVersionOnActionRequest.java
+++ 
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/schema/CheckCatalogVersionOnActionRequest.java
@@ -35,6 +35,7 @@ import org.apache.ignite.raft.jraft.rpc.ActionRequest;
 import org.apache.ignite.raft.jraft.rpc.Message;
 import org.apache.ignite.raft.jraft.rpc.RaftRpcFactory;
 import org.apache.ignite.raft.jraft.rpc.RpcContext;
+import org.apache.ignite.raft.jraft.rpc.WriteActionRequest;
 import org.apache.ignite.raft.jraft.rpc.impl.ActionRequestInterceptor;
 import org.jetbrains.annotations.Nullable;
 
@@ -64,7 +65,11 @@ public class CheckCatalogVersionOnActionRequest implements 
ActionRequestIntercep
             return errorIfNotLeader;
         }
 
-        Command command = request.command();
+        if (!(request instanceof WriteActionRequest)) {
+            return null;
+        }
+
+        Command command = ((WriteActionRequest) request).command();
 
         if (command instanceof CatalogVersionAware) {
             int requiredCatalogVersion = ((CatalogVersionAware) 
command).requiredCatalogVersion();
diff --git 
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/schema/CheckCatalogVersionOnActionRequestTest.java
 
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/schema/CheckCatalogVersionOnActionRequestTest.java
index bcb5c62045..aa7953c418 100644
--- 
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/schema/CheckCatalogVersionOnActionRequestTest.java
+++ 
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/schema/CheckCatalogVersionOnActionRequestTest.java
@@ -31,7 +31,7 @@ import java.util.Arrays;
 import java.util.UUID;
 import java.util.stream.Stream;
 import org.apache.ignite.internal.catalog.CatalogService;
-import org.apache.ignite.internal.raft.Command;
+import org.apache.ignite.internal.raft.WriteCommand;
 import org.apache.ignite.internal.replicator.message.ReplicaMessagesFactory;
 import org.apache.ignite.internal.table.distributed.TableMessagesFactory;
 import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
@@ -95,7 +95,7 @@ class CheckCatalogVersionOnActionRequestTest extends 
BaseIgniteAbstractTest {
 
     @Test
     void delegatesWhenCommandHasNoRequiredCatalogVersion() {
-        ActionRequest request = raftMessagesFactory.actionRequest()
+        ActionRequest request = raftMessagesFactory.writeActionRequest()
                 .groupId("test")
                 .command(commandWithoutRequiredCatalogVersion())
                 .build();
@@ -103,7 +103,7 @@ class CheckCatalogVersionOnActionRequestTest extends 
BaseIgniteAbstractTest {
         assertThat(interceptor.intercept(rpcContext, request), 
is(nullValue()));
     }
 
-    private Command commandWithoutRequiredCatalogVersion() {
+    private WriteCommand commandWithoutRequiredCatalogVersion() {
         return replicaMessagesFactory.safeTimeSyncCommand().build();
     }
 
@@ -111,7 +111,7 @@ class CheckCatalogVersionOnActionRequestTest extends 
BaseIgniteAbstractTest {
     void delegatesWhenHavingEnoughMetadata() {
         when(catalogService.latestCatalogVersion()).thenReturn(5);
 
-        ActionRequest request = raftMessagesFactory.actionRequest()
+        ActionRequest request = raftMessagesFactory.writeActionRequest()
                 .groupId("test")
                 .command(commandWithRequiredCatalogVersion(3))
                 .build();
@@ -119,7 +119,7 @@ class CheckCatalogVersionOnActionRequestTest extends 
BaseIgniteAbstractTest {
         assertThat(interceptor.intercept(rpcContext, request), 
is(nullValue()));
     }
 
-    private Command commandWithRequiredCatalogVersion(int requiredVersion) {
+    private WriteCommand commandWithRequiredCatalogVersion(int 
requiredVersion) {
         return tableMessagesFactory.updateCommand()
                 
.tablePartitionId(tableMessagesFactory.tablePartitionIdMessage().build())
                 .txId(UUID.randomUUID())
@@ -133,7 +133,7 @@ class CheckCatalogVersionOnActionRequestTest extends 
BaseIgniteAbstractTest {
     void returnsErrorCodeBusyWhenNotHavingEnoughMetadata() {
         when(catalogService.latestCatalogVersion()).thenReturn(5);
 
-        ActionRequest request = raftMessagesFactory.actionRequest()
+        ActionRequest request = raftMessagesFactory.writeActionRequest()
                 .groupId("test")
                 .command(commandWithRequiredCatalogVersion(6))
                 .build();
@@ -154,7 +154,7 @@ class CheckCatalogVersionOnActionRequestTest extends 
BaseIgniteAbstractTest {
     void 
checksLeadershipBeforeCheckingMetadataWhenNotLeaderAndNotTransferring(State 
state) {
         when(node.getNodeState()).thenReturn(state);
 
-        ActionRequest request = raftMessagesFactory.actionRequest()
+        ActionRequest request = raftMessagesFactory.writeActionRequest()
                 .groupId("test")
                 .command(commandWithRequiredCatalogVersion(6))
                 .build();
@@ -180,7 +180,7 @@ class CheckCatalogVersionOnActionRequestTest extends 
BaseIgniteAbstractTest {
     void checksLeadershipBeforeCheckingMetadataWhenTransferring() {
         when(node.getNodeState()).thenReturn(State.STATE_TRANSFERRING);
 
-        ActionRequest request = raftMessagesFactory.actionRequest()
+        ActionRequest request = raftMessagesFactory.writeActionRequest()
                 .groupId("test")
                 .command(commandWithRequiredCatalogVersion(6))
                 .build();

Reply via email to