You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by as...@apache.org on 2021/03/01 18:35:13 UTC

[ignite-3] branch ignite-14149 updated (399f640 -> 9e3a231)

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

ascherbakov pushed a change to branch ignite-14149
in repository https://gitbox.apache.org/repos/asf/ignite-3.git.


    from 399f640  IGNITE-14149 Migrate to ignite network.
     new 060e6e2  IGNITE-14149 Cleanup code.
     new 9e3a231  IGNITE-14149 Cleanup code 2.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../network/scalecube/ScaleCubeNetworkCluster.java |  3 -
 .../ignite/raft/{ => client}/ElectionPriority.java |  3 +-
 .../apache/ignite/raft/{ => client}/PeerId.java    |  3 +-
 .../org/apache/ignite/raft/{ => client}/State.java |  8 +-
 .../client/message/AddLearnersRequestImpl.java     | 36 --------
 .../raft/client/message/AddPeerRequestImpl.java    | 34 --------
 .../raft/client/message/AddPeerResponseImpl.java   | 35 --------
 .../raft/client/message/ChangePeerRequestImpl.java | 35 --------
 .../client/message/ChangePeersResponseImpl.java    | 35 --------
 .../raft/client/message/GetLeaderRequestImpl.java  | 22 -----
 .../raft/client/message/GetLeaderResponseImpl.java | 23 ------
 .../raft/client/message/GetPeersRequestImpl.java   | 32 --------
 .../raft/client/message/GetPeersResponseImpl.java  | 35 --------
 .../client/message/LearnersOpResponseImpl.java     | 35 --------
 .../client/{ => message}/RaftClientMessages.java   | 28 +++----
 .../client/message/RemoveLearnersRequestImpl.java  | 35 --------
 .../raft/client/message/RemovePeerRequestImpl.java | 33 --------
 .../client/message/RemovePeerResponseImpl.java     | 35 --------
 .../client/message/ResetLearnersRequestImpl.java   | 35 --------
 .../raft/client/message/ResetPeerRequestImpl.java  | 35 --------
 .../raft/client/message/SnapshotRequestImpl.java   | 21 -----
 .../client/message/TransferLeaderRequestImpl.java  | 27 ------
 .../raft/client/message/UserRequestImpl.java       | 32 --------
 .../raft/client/message/UserResponseImpl.java      | 21 -----
 .../message/impl/AddLearnersRequestImpl.java}      | 43 ++++++----
 .../client/message/impl/AddPeerRequestImpl.java}   | 40 +++++----
 .../client/message/impl/AddPeerResponseImpl.java   | 53 ++++++++++++
 .../message/impl/ChangePeerRequestImpl.java}       | 43 ++++++----
 .../message/impl/ChangePeersResponseImpl.java      | 53 ++++++++++++
 .../client/message/impl/GetLeaderRequestImpl.java} | 28 ++++---
 .../message/impl/GetLeaderResponseImpl.java}       | 28 +++----
 .../client/message/impl/GetPeersRequestImpl.java}  | 39 +++++----
 .../client/message/impl/GetPeersResponseImpl.java  | 53 ++++++++++++
 .../message/impl/LearnersOpResponseImpl.java       | 53 ++++++++++++
 .../{ => impl}/RaftClientMessageFactory.java       | 23 +++++-
 .../{ => impl}/RaftClientMessageFactoryImpl.java   | 21 ++++-
 .../message/impl/RemoveLearnersRequestImpl.java}   | 43 ++++++----
 .../message/impl/RemovePeerRequestImpl.java}       | 60 ++++++--------
 .../message/impl/RemovePeerResponseImpl.java       | 53 ++++++++++++
 .../message/impl/ResetLearnersRequestImpl.java}    | 43 ++++++----
 .../client/message/impl/ResetPeerRequestImpl.java} | 43 ++++++----
 .../client/message/impl/SnapshotRequestImpl.java}  | 28 ++++---
 .../message/impl/TransferLeaderRequestImpl.java}   | 34 ++++----
 .../raft/client/message/impl/UserRequestImpl.java} | 39 +++++----
 .../client/message/impl/UserResponseImpl.java}     | 28 ++++---
 .../ignite/raft/client/rpc/RaftGroupRpcClient.java | 95 ++++++++++------------
 .../client/rpc/impl/RaftGroupRpcClientImpl.java    | 39 +++++++--
 .../service/RaftGroupClientRequestListener.java    | 19 ++++-
 .../service/RaftGroupClientRequestService.java     | 24 +++++-
 .../client/service/RaftGroupManagmentService.java  | 83 ++++++++++---------
 .../impl/RaftGroupClientRequestServiceImpl.java    | 22 ++++-
 .../impl/RaftGroupManagementServiceImpl.java       | 37 +++++++--
 .../org/apache/ignite/raft/client/MockUtils.java   | 21 ++++-
 .../raft/client/rpc/RaftGroupRpcClientTest.java    | 27 ++++--
 .../service/RaftGroupClientRequestServiceTest.java | 19 ++++-
 55 files changed, 899 insertions(+), 976 deletions(-)
 rename modules/raft-client/src/main/java/org/apache/ignite/raft/{ => client}/ElectionPriority.java (96%)
 rename modules/raft-client/src/main/java/org/apache/ignite/raft/{ => client}/PeerId.java (98%)
 rename modules/raft-client/src/main/java/org/apache/ignite/raft/{ => client}/State.java (85%)
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerResponseImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeerRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersResponseImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponseImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersResponseImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/LearnersOpResponseImpl.java
 rename modules/raft-client/src/main/java/org/apache/ignite/raft/client/{ => message}/RaftClientMessages.java (92%)
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemoveLearnersRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerResponseImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetLearnersRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetPeerRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/SnapshotRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/TransferLeaderRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserRequestImpl.java
 delete mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserResponseImpl.java
 copy modules/{configuration-annotation-processor/src/main/java/org/apache/ignite/configuration/processor/internal/ConfigurationDescription.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java} (50%)
 copy modules/{configuration/src/main/java/org/apache/ignite/configuration/validation/ConfigurationValidationException.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java} (51%)
 create mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java
 copy modules/{configuration-annotation-processor/src/main/java/org/apache/ignite/configuration/processor/internal/ConfigurationDescription.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java} (50%)
 create mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java
 copy modules/{configuration/src/main/java/org/apache/ignite/configuration/storage/StorageException.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java} (60%)
 copy modules/{configuration/src/main/java/org/apache/ignite/configuration/validation/ConfigurationValidationException.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java} (58%)
 copy modules/{configuration/src/main/java/org/apache/ignite/configuration/validation/ConfigurationValidationException.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersRequestImpl.java} (52%)
 create mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java
 create mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java
 rename modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/{ => impl}/RaftClientMessageFactory.java (62%)
 rename modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/{ => impl}/RaftClientMessageFactoryImpl.java (76%)
 copy modules/{configuration-annotation-processor/src/main/java/org/apache/ignite/configuration/processor/internal/ConfigurationDescription.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java} (50%)
 copy modules/{configuration/src/main/java/org/apache/ignite/configuration/storage/Data.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java} (51%)
 create mode 100644 modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java
 copy modules/{configuration-annotation-processor/src/main/java/org/apache/ignite/configuration/processor/internal/ConfigurationDescription.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java} (50%)
 copy modules/{configuration-annotation-processor/src/main/java/org/apache/ignite/configuration/processor/internal/ConfigurationDescription.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java} (50%)
 copy modules/{configuration/src/main/java/org/apache/ignite/configuration/storage/StorageException.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java} (60%)
 copy modules/{configuration/src/main/java/org/apache/ignite/configuration/validation/ConfigurationValidationException.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java} (54%)
 copy modules/{configuration/src/main/java/org/apache/ignite/configuration/validation/ConfigurationValidationException.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserRequestImpl.java} (52%)
 copy modules/{configuration/src/main/java/org/apache/ignite/configuration/storage/StorageException.java => raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java} (61%)


[ignite-3] 02/02: IGNITE-14149 Cleanup code 2.

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 9e3a231ba837bfd1217c11efa0b22322bb8c3241
Author: Alexey Scherbakov <al...@gmail.com>
AuthorDate: Mon Mar 1 21:35:01 2021 +0300

    IGNITE-14149 Cleanup code 2.
---
 .../ignite/raft/{ => client}/ElectionPriority.java |  2 +-
 .../apache/ignite/raft/{ => client}/PeerId.java    |  2 +-
 .../org/apache/ignite/raft/{ => client}/State.java |  3 +-
 .../raft/client/message/RaftClientMessages.java    | 14 +----
 .../message/impl/AddLearnersRequestImpl.java       |  2 +-
 .../client/message/impl/AddPeerRequestImpl.java    |  2 +-
 .../client/message/impl/AddPeerResponseImpl.java   |  2 +-
 .../client/message/impl/ChangePeerRequestImpl.java |  2 +-
 .../message/impl/ChangePeersResponseImpl.java      |  2 +-
 .../client/message/impl/GetLeaderResponseImpl.java |  2 +-
 .../client/message/impl/GetPeersResponseImpl.java  |  2 +-
 .../message/impl/LearnersOpResponseImpl.java       |  2 +-
 .../message/impl/RemoveLearnersRequestImpl.java    |  2 +-
 .../client/message/impl/RemovePeerRequestImpl.java |  2 +-
 .../message/impl/RemovePeerResponseImpl.java       |  2 +-
 .../message/impl/ResetLearnersRequestImpl.java     |  2 +-
 .../client/message/impl/ResetPeerRequestImpl.java  |  2 +-
 .../message/impl/TransferLeaderRequestImpl.java    |  2 +-
 .../ignite/raft/client/rpc/RaftGroupRpcClient.java | 64 +++++++++------------
 .../client/rpc/impl/RaftGroupRpcClientImpl.java    |  9 ++-
 .../service/RaftGroupClientRequestListener.java    |  2 +-
 .../service/RaftGroupClientRequestService.java     |  7 +--
 .../client/service/RaftGroupManagmentService.java  | 66 +++++++++-------------
 .../impl/RaftGroupClientRequestServiceImpl.java    |  2 +-
 .../impl/RaftGroupManagementServiceImpl.java       | 20 ++++---
 .../org/apache/ignite/raft/client/MockUtils.java   |  1 -
 .../raft/client/rpc/RaftGroupRpcClientTest.java    |  6 +-
 27 files changed, 99 insertions(+), 127 deletions(-)

diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/ElectionPriority.java
similarity index 97%
rename from modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java
rename to modules/raft-client/src/main/java/org/apache/ignite/raft/client/ElectionPriority.java
index 90a2907..c71dc38 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/ElectionPriority.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.raft;
+package org.apache.ignite.raft.client;
 
 /**
  * Election Priority.
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/PeerId.java
similarity index 98%
rename from modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java
rename to modules/raft-client/src/main/java/org/apache/ignite/raft/client/PeerId.java
index b98baab..62292fd 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/PeerId.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.raft;
+package org.apache.ignite.raft.client;
 
 import java.io.Serializable;
 import org.apache.ignite.network.NetworkMember;
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/State.java
similarity index 92%
rename from modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
rename to modules/raft-client/src/main/java/org/apache/ignite/raft/client/State.java
index 6b7e076..a7771e6 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/State.java
@@ -15,9 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.raft;
+package org.apache.ignite.raft.client;
 
 import java.util.List;
+import org.apache.ignite.raft.client.PeerId;
 import org.jetbrains.annotations.Nullable;
 
 /**
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java
index f8fd914..db16acc 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java
@@ -18,25 +18,15 @@
 package org.apache.ignite.raft.client.message;
 
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 
 /**
- *
+ * Raft client messages.
  */
 public final class RaftClientMessages {
     private RaftClientMessages() {
     }
 
-    public interface PingRequest {
-        long getSendTimestamp();
-
-        interface Builder {
-            Builder setSendTimestamp(long timestamp);
-
-            PingRequest build();
-        }
-    }
-
     public interface AddPeerRequest {
         PeerId getPeerId();
 
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java
index 8f2be91..bab852c 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java
@@ -19,7 +19,7 @@ package org.apache.ignite.raft.client.message.impl;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 public class AddLearnersRequestImpl implements RaftClientMessages.AddLearnersRequest, RaftClientMessages.AddLearnersRequest.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java
index b492c4d..34cbc0c 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.raft.client.message.impl;
 
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class AddPeerRequestImpl implements RaftClientMessages.AddPeerRequest, RaftClientMessages.AddPeerRequest.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java
index 61f2450..7394434 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java
@@ -19,7 +19,7 @@ package org.apache.ignite.raft.client.message.impl;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class AddPeerResponseImpl implements RaftClientMessages.AddPeerResponse, RaftClientMessages.AddPeerResponse.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java
index 657ef63..3b00d81 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java
@@ -19,7 +19,7 @@ package org.apache.ignite.raft.client.message.impl;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class ChangePeerRequestImpl implements RaftClientMessages.ChangePeersRequest, RaftClientMessages.ChangePeersRequest.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java
index f33f4c0..9595593 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java
@@ -19,7 +19,7 @@ package org.apache.ignite.raft.client.message.impl;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class ChangePeersResponseImpl implements RaftClientMessages.ChangePeersResponse, RaftClientMessages.ChangePeersResponse.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java
index 3e62084..0bce43c 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.raft.client.message.impl;
 
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 public class GetLeaderResponseImpl implements RaftClientMessages.GetLeaderResponse, RaftClientMessages.GetLeaderResponse.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java
index a5fc836..53f16af 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java
@@ -19,7 +19,7 @@ package org.apache.ignite.raft.client.message.impl;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class GetPeersResponseImpl implements RaftClientMessages.GetPeersResponse, RaftClientMessages.GetPeersResponse.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java
index 0e846d2..85530e3 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java
@@ -19,7 +19,7 @@ package org.apache.ignite.raft.client.message.impl;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class LearnersOpResponseImpl implements RaftClientMessages.LearnersOpResponse, RaftClientMessages.LearnersOpResponse.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java
index f063e46..fdb7f61 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java
@@ -19,7 +19,7 @@ package org.apache.ignite.raft.client.message.impl;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class RemoveLearnersRequestImpl implements RaftClientMessages.RemoveLearnersRequest, RaftClientMessages.RemoveLearnersRequest.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java
index 30d3d18..335aa4b 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.raft.client.message.impl;
 
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class RemovePeerRequestImpl implements RaftClientMessages.RemovePeerRequest, RaftClientMessages.RemovePeerRequest.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java
index 819d8ec..6f91817 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java
@@ -19,7 +19,7 @@ package org.apache.ignite.raft.client.message.impl;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class RemovePeerResponseImpl implements RaftClientMessages.RemovePeerResponse, RaftClientMessages.RemovePeerResponse.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java
index 1371b00..657f515 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java
@@ -19,7 +19,7 @@ package org.apache.ignite.raft.client.message.impl;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class ResetLearnersRequestImpl implements RaftClientMessages.ResetLearnersRequest, RaftClientMessages.ResetLearnersRequest.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java
index fba3dea..1a5a030 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java
@@ -19,7 +19,7 @@ package org.apache.ignite.raft.client.message.impl;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class ResetPeerRequestImpl implements RaftClientMessages.ResetPeerRequest, RaftClientMessages.ResetPeerRequest.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java
index 3cc7e98..3274e5a 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.raft.client.message.impl;
 
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 class TransferLeaderRequestImpl implements RaftClientMessages.TransferLeaderRequest, RaftClientMessages.TransferLeaderRequest.Builder {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java
index d6b863a..b4f1a9e 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java
@@ -19,10 +19,8 @@ package org.apache.ignite.raft.client.rpc;
 
 import java.util.concurrent.CompletableFuture;
 import javax.validation.constraints.NotNull;
-import org.apache.ignite.raft.State;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.message.RaftClientMessages.UserRequest;
-import org.apache.ignite.raft.client.message.RaftClientMessages.UserResponse;
+import org.apache.ignite.raft.client.State;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.message.impl.RaftClientMessageFactory;
 
 import static org.apache.ignite.raft.client.message.RaftClientMessages.AddLearnersRequest;
@@ -38,6 +36,8 @@ import static org.apache.ignite.raft.client.message.RaftClientMessages.ResetLear
 import static org.apache.ignite.raft.client.message.RaftClientMessages.ResetPeerRequest;
 import static org.apache.ignite.raft.client.message.RaftClientMessages.SnapshotRequest;
 import static org.apache.ignite.raft.client.message.RaftClientMessages.TransferLeaderRequest;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.UserRequest;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.UserResponse;
 
 /**
  * Replicating group RPC client.
@@ -52,31 +52,30 @@ public interface RaftGroupRpcClient {
     /**
      * Refreshes a replicating group leader.
      * @param groupId Group id.
-     * @return A future.
+     * @return A future with the result.
      */
     CompletableFuture<PeerId> refreshLeader(String groupId);
 
     /**
      * Refreshes a replicating group members (except a leader).
      * @param groupId Group id.
-     * @return A future.
+     * @return A future with the result.
      */
     CompletableFuture<State> refreshMembers(String groupId);
 
     /**
      * Adds a voring peer to the raft group.
      *
-     * @param request   request data
-     * @return A future with the result
+     * @param request Request data.
+     * @return A future with the result.
      */
     CompletableFuture<AddPeerResponse> addPeer(AddPeerRequest request);
 
     /**
      * Removes a peer from the raft group.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @return a future with result
+     * @param request Request data.
+     * @return A future with the result.
      */
     CompletableFuture<RemovePeerResponse> removePeer(RemovePeerRequest request);
 
@@ -84,7 +83,7 @@ public interface RaftGroupRpcClient {
      * Locally resets raft group peers. Intended for recovering from a group unavailability at the price of consistency.
      *
      * @param peerId Node to execute the configuration reset.
-     * @param request   request data
+     * @param request Request data.
      * @return A future with result.
      */
     CompletableFuture<Void> resetPeers(PeerId peerId, ResetPeerRequest request);
@@ -92,72 +91,61 @@ public interface RaftGroupRpcClient {
     /**
      * Takes a local snapshot.
      *
-     * @param peerId  Peer id.
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result
+     * @param peerId Peer id.
+     * @param request Request data.
+     * @return A future with the result.
      */
     CompletableFuture<Void> snapshot(PeerId peerId, SnapshotRequest request);
 
     /**
      * Change peers.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result
+     * @param request Request data.
+     * @return A future with the result.
      */
     CompletableFuture<ChangePeersResponse> changePeers(ChangePeersRequest request);
 
     /**
      * Adds learners.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result
+     * @param request Request data.
+     * @return A future with the result.
      */
     CompletableFuture<LearnersOpResponse> addLearners(AddLearnersRequest request);
 
     /**
      * Removes learners.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result
+     * @param request Request data.
+     * @return A future with the result.
      */
     CompletableFuture<LearnersOpResponse> removeLearners(RemoveLearnersRequest request);
 
     /**
      * Resets learners to new set.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result
+     * @param request Request data.
+     * @return A future with the result.
      */
     CompletableFuture<LearnersOpResponse> resetLearners(ResetLearnersRequest request);
 
     /**
      * Transfer leadership to other peer.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result
+     * @param request Request data.
+     * @return A future with the result.
      */
     CompletableFuture<Void> transferLeader(TransferLeaderRequest request);
 
     /**
-     * Performs a user action defined by specific request to the raft group leader.
+     * Submits a user request to the replication group leader.
      *
      * @param endpoint  server address
      * @param request   request data
      * @param done      callback
      * @return a future with result
      */
-    <R> CompletableFuture<UserResponse<R>> sendUserRequest(UserRequest request);
+    <R> CompletableFuture<UserResponse<R>> submit(UserRequest request);
 
     /**
      * @return A message builder factory.
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java
index ac9cb5c..efd8db3 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java
@@ -25,8 +25,8 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ConcurrentHashMap;
 import org.apache.ignite.network.NetworkCluster;
 import org.apache.ignite.network.NetworkMember;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.State;
+import org.apache.ignite.raft.client.PeerId;
+import org.apache.ignite.raft.client.State;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 import org.apache.ignite.raft.client.message.RaftClientMessages.GetLeaderResponse;
 import org.apache.ignite.raft.client.message.impl.RaftClientMessageFactory;
@@ -35,6 +35,9 @@ import org.jetbrains.annotations.Nullable;
 
 import static java.util.concurrent.CompletableFuture.completedFuture;
 
+/**
+ * Replicating group RPC client implementation.
+ */
 public class RaftGroupRpcClientImpl implements RaftGroupRpcClient {
     /** */
     private final NetworkCluster cluster;
@@ -122,7 +125,7 @@ public class RaftGroupRpcClientImpl implements RaftGroupRpcClient {
         return null;
     }
 
-    @Override public CompletableFuture<RaftClientMessages.UserResponse> sendUserRequest(RaftClientMessages.UserRequest request) {
+    @Override public CompletableFuture<RaftClientMessages.UserResponse> submit(RaftClientMessages.UserRequest request) {
         if (request.getGroupId() == null)
             throw new IllegalArgumentException("groupId is required");
 
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java
index 1fc7a89..b185ac3 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java
@@ -20,7 +20,7 @@ package org.apache.ignite.raft.client.service;
 import java.util.Iterator;
 
 /**
- * A listener for raft group client requests.
+ * A listener for replication group client requests.
  */
 public interface RaftGroupClientRequestListener {
     void onReads(Iterator iterator);
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java
index 1d1eccc..c9e2fe8 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java
@@ -20,14 +20,13 @@ package org.apache.ignite.raft.client.service;
 import java.util.concurrent.CompletableFuture;
 
 /**
- *
+ * Replicating group client service.
  */
 public interface RaftGroupClientRequestService {
     /**
-     * Submits a custom request to a raft group leader. If a leader is not initialized yet, will try to resolve it.
+     * Submits a custom request to a raft group leader. If a leader is not initialized yet will try to resolve it.
      * @param request
-     * @param <T> Request.
-     * @param <R> Response.
+     * @param <R> Response type.
      * @return A future.
      */
     <R> CompletableFuture<R> submit(Object request);
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java
index 455173d..0f84016 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java
@@ -19,84 +19,76 @@ package org.apache.ignite.raft.client.service;
 
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.jetbrains.annotations.Nullable;
 
-/** */
+/**
+ * Replicating group management service.
+ */
 public interface RaftGroupManagmentService {
     /**
-     * @param groupId
      * @return Leader id or null if it has not been yet initialized.
      */
-    @Nullable PeerId getLeader(String groupId);
+    @Nullable PeerId getLeader();
 
     /**
-     * @param groupId
      * @return List of peers or null if it has not been yet initialized.
      */
-    @Nullable List<PeerId> getPeers(String groupId);
+    @Nullable List<PeerId> getPeers();
 
     /**
-     * @param groupId
      * @return List of peers or null if it has not been yet initialized.
      */
-    @Nullable List<PeerId> getLearners(String groupId);
+    @Nullable List<PeerId> getLearners();
 
     /**
      * Adds a voting peer to the raft group.
      *
-     * @param request   request data
-     * @return A future with the result
+     * @param peerId Peer id.
+     * @return A future with the result.
      */
     CompletableFuture<PeersChangeState> addPeer(PeerId peerId);
 
     /**
      * Removes a peer from the raft group.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @return a future with result
+     * @param peerId Peer id.
+     * @return A future with the result.
      */
     CompletableFuture<PeersChangeState> removePeer(PeerId peerId);
 
     /**
      * Locally resets raft group peers. Intended for recovering from a group unavailability at the price of consistency.
      *
-     * @param peerId Node to execute the configuration reset.
-     * @param request   request data
-     * @return A future with result.
+     * @param peerId Peer id.
+     * @param peers List of peers.
+     * @return A future with the result.
      */
     CompletableFuture<Void> resetPeers(PeerId peerId, List<PeerId> peers);
 
     /**
      * Takes a local snapshot.
      *
-     * @param peerId  Peer id.
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result.
+     * @param peerId Peer id.
+     * @return A future with the result.
      */
     CompletableFuture<Void> snapshot(PeerId peerId);
 
     /**
      * Change peers.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result
+     * @param peers List of peers.
+     * @return A future with the result.
      */
     CompletableFuture<PeersChangeState> changePeers(List<PeerId> peers);
 
     /**
      * Adds learners.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result.
+     * @param learners List of learners.
+     * @return A future with the result.
      */
-    CompletableFuture<PeersChangeState> addLearners(List<PeerId> peers);
+    CompletableFuture<PeersChangeState> addLearners(List<PeerId> learners);
 
     /**
      * Removes learners.
@@ -104,27 +96,23 @@ public interface RaftGroupManagmentService {
      * @param endpoint  server address
      * @param request   request data
      * @param done      callback
-     * @return a future with result
+     * @return A future with the result.
      */
     CompletableFuture<PeersChangeState> removeLearners(List<PeerId> peers);
 
     /**
      * Resets learners to new set.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result.
+     * @param learners List of learners.
+     * @return A future with the result.
      */
-    CompletableFuture<PeersChangeState> resetLearners(List<PeerId> peers);
+    CompletableFuture<PeersChangeState> resetLearners(List<PeerId> learners);
 
     /**
      * Transfer leadership to other peer.
      *
-     * @param endpoint  server address
-     * @param request   request data
-     * @param done      callback
-     * @return a future with result.
+     * @param newLeader New leader.
+     * @return A future with the result.
      */
     CompletableFuture<Void> transferLeader(PeerId newLeader);
 
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java
index 35a72e5..7ee8d32 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java
@@ -36,7 +36,7 @@ public class RaftGroupClientRequestServiceImpl implements RaftGroupClientRequest
         RaftClientMessages.UserRequest r =
             rpcClient.factory().createUserRequest().setRequest(request).setGroupId(groupId).build();
 
-        CompletableFuture<RaftClientMessages.UserResponse<R>> completableFuture = rpcClient.sendUserRequest(r);
+        CompletableFuture<RaftClientMessages.UserResponse<R>> completableFuture = rpcClient.submit(r);
 
         return completableFuture.thenApply(resp -> resp.response());
     }
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java
index 383044a..ca06c5e 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java
@@ -19,27 +19,31 @@ package org.apache.ignite.raft.client.service.impl;
 
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.rpc.RaftGroupRpcClient;
 import org.apache.ignite.raft.client.service.RaftGroupManagmentService;
-import org.jetbrains.annotations.Nullable;
 
 public class RaftGroupManagementServiceImpl implements RaftGroupManagmentService {
+    /** */
     private final RaftGroupRpcClient rpcClient;
 
-    public RaftGroupManagementServiceImpl(RaftGroupRpcClient rpcClient) {
+    /** */
+    private final String groupId;
+
+    public RaftGroupManagementServiceImpl(RaftGroupRpcClient rpcClient, String groupId) {
         this.rpcClient = rpcClient;
+        this.groupId = groupId;
     }
 
-    @Override public @Nullable PeerId getLeader(String groupId) {
+    @Override public PeerId getLeader() {
         return rpcClient.state(groupId).leader();
     }
 
-    @Override public @Nullable List<PeerId> getPeers(String groupId) {
+    @Override public List<PeerId> getPeers() {
         return rpcClient.state(groupId).peers();
     }
 
-    @Override public @Nullable List<PeerId> getLearners(String groupId) {
+    @Override public List<PeerId> getLearners() {
         return rpcClient.state(groupId).learners();
     }
 
@@ -63,7 +67,7 @@ public class RaftGroupManagementServiceImpl implements RaftGroupManagmentService
         return null;
     }
 
-    @Override public CompletableFuture<PeersChangeState> addLearners(List<PeerId> peers) {
+    @Override public CompletableFuture<PeersChangeState> addLearners(List<PeerId> learners) {
         return null;
     }
 
@@ -71,7 +75,7 @@ public class RaftGroupManagementServiceImpl implements RaftGroupManagmentService
         return null;
     }
 
-    @Override public CompletableFuture<PeersChangeState> resetLearners(List<PeerId> peers) {
+    @Override public CompletableFuture<PeersChangeState> resetLearners(List<PeerId> learners) {
         return null;
     }
 
diff --git a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java
index 9de90dc..8a82903 100644
--- a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java
+++ b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java
@@ -21,7 +21,6 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeoutException;
 import org.apache.ignite.network.NetworkCluster;
 import org.apache.ignite.network.NetworkMember;
-import org.apache.ignite.raft.PeerId;
 import org.apache.ignite.raft.client.message.RaftClientMessages;
 import org.mockito.ArgumentMatcher;
 import org.mockito.Mockito;
diff --git a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java
index e7fe41e..d24db8f 100644
--- a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java
+++ b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java
@@ -21,7 +21,7 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeoutException;
 import org.apache.ignite.network.NetworkCluster;
-import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.PeerId;
 import org.apache.ignite.raft.client.MockUtils.TestInput1;
 import org.apache.ignite.raft.client.MockUtils.TestInput2;
 import org.apache.ignite.raft.client.MockUtils.TestOutput1;
@@ -137,12 +137,12 @@ public class RaftGroupRpcClientTest {
         RaftClientMessages.UserRequest req1 =
             client.factory().createUserRequest().setGroupId(groupId).setRequest(new TestInput1()).build();
 
-        assertTrue(client.sendUserRequest(req1).get().response() instanceof TestOutput1);
+        assertTrue(client.submit(req1).get().response() instanceof TestOutput1);
 
         RaftClientMessages.UserRequest req2 =
             client.factory().createUserRequest().setGroupId(groupId).setRequest(new TestInput2()).build();
 
-        assertTrue(client.sendUserRequest(req2).get().response() instanceof TestOutput2);
+        assertTrue(client.submit(req2).get().response() instanceof TestOutput2);
 
         // Expecting raft group state to be transparently loaded on first request.
         assertEquals(LEADER, client.state(groupId).leader());


[ignite-3] 01/02: IGNITE-14149 Cleanup code.

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 060e6e2c786b470e4e6201279fe7b08d08b6013f
Author: Alexey Scherbakov <al...@gmail.com>
AuthorDate: Mon Mar 1 21:04:02 2021 +0300

    IGNITE-14149 Cleanup code.
---
 .../network/scalecube/ScaleCubeNetworkCluster.java |  3 --
 .../org/apache/ignite/raft/ElectionPriority.java   |  1 +
 .../main/java/org/apache/ignite/raft/PeerId.java   |  1 +
 .../main/java/org/apache/ignite/raft/State.java    |  5 +-
 .../client/message/AddLearnersRequestImpl.java     | 36 ---------------
 .../raft/client/message/AddPeerRequestImpl.java    | 34 --------------
 .../raft/client/message/AddPeerResponseImpl.java   | 35 --------------
 .../raft/client/message/ChangePeerRequestImpl.java | 35 --------------
 .../client/message/ChangePeersResponseImpl.java    | 35 --------------
 .../raft/client/message/GetLeaderRequestImpl.java  | 22 ---------
 .../raft/client/message/GetLeaderResponseImpl.java | 23 ----------
 .../raft/client/message/GetPeersRequestImpl.java   | 32 -------------
 .../raft/client/message/GetPeersResponseImpl.java  | 35 --------------
 .../client/message/LearnersOpResponseImpl.java     | 35 --------------
 .../client/{ => message}/RaftClientMessages.java   | 14 ++++--
 .../client/message/RemoveLearnersRequestImpl.java  | 35 --------------
 .../raft/client/message/RemovePeerRequestImpl.java | 33 --------------
 .../client/message/RemovePeerResponseImpl.java     | 35 --------------
 .../client/message/ResetLearnersRequestImpl.java   | 35 --------------
 .../raft/client/message/ResetPeerRequestImpl.java  | 35 --------------
 .../raft/client/message/SnapshotRequestImpl.java   | 21 ---------
 .../client/message/TransferLeaderRequestImpl.java  | 27 -----------
 .../raft/client/message/UserRequestImpl.java       | 32 -------------
 .../raft/client/message/UserResponseImpl.java      | 21 ---------
 .../message/impl/AddLearnersRequestImpl.java       | 53 ++++++++++++++++++++++
 .../client/message/impl/AddPeerRequestImpl.java    | 51 +++++++++++++++++++++
 .../client/message/impl/AddPeerResponseImpl.java   | 53 ++++++++++++++++++++++
 .../client/message/impl/ChangePeerRequestImpl.java | 53 ++++++++++++++++++++++
 .../message/impl/ChangePeersResponseImpl.java      | 53 ++++++++++++++++++++++
 .../message/impl/GetLeaderRequestImpl.java}        | 29 +++++++-----
 .../message/impl/GetLeaderResponseImpl.java}       | 30 +++++++-----
 .../client/message/impl/GetPeersRequestImpl.java   | 50 ++++++++++++++++++++
 .../client/message/impl/GetPeersResponseImpl.java  | 53 ++++++++++++++++++++++
 .../message/impl/LearnersOpResponseImpl.java       | 53 ++++++++++++++++++++++
 .../{ => impl}/RaftClientMessageFactory.java       | 23 ++++++++--
 .../{ => impl}/RaftClientMessageFactoryImpl.java   | 21 ++++++++-
 .../message/impl/RemoveLearnersRequestImpl.java    | 53 ++++++++++++++++++++++
 .../client/message/impl/RemovePeerRequestImpl.java | 51 +++++++++++++++++++++
 .../message/impl/RemovePeerResponseImpl.java       | 53 ++++++++++++++++++++++
 .../message/impl/ResetLearnersRequestImpl.java     | 53 ++++++++++++++++++++++
 .../client/message/impl/ResetPeerRequestImpl.java  | 53 ++++++++++++++++++++++
 .../message/impl/SnapshotRequestImpl.java}         | 29 +++++++-----
 .../message/impl/TransferLeaderRequestImpl.java    | 45 ++++++++++++++++++
 .../raft/client/message/impl/UserRequestImpl.java  | 50 ++++++++++++++++++++
 .../message/impl/UserResponseImpl.java}            | 29 +++++++-----
 .../ignite/raft/client/rpc/RaftGroupRpcClient.java | 35 +++++++-------
 .../client/rpc/impl/RaftGroupRpcClientImpl.java    | 30 ++++++++++--
 .../service/RaftGroupClientRequestListener.java    | 17 +++++++
 .../service/RaftGroupClientRequestService.java     | 17 +++++++
 .../client/service/RaftGroupManagmentService.java  | 17 +++++++
 .../impl/RaftGroupClientRequestServiceImpl.java    | 20 +++++++-
 .../impl/RaftGroupManagementServiceImpl.java       | 17 +++++++
 .../org/apache/ignite/raft/client/MockUtils.java   | 20 +++++++-
 .../raft/client/rpc/RaftGroupRpcClientTest.java    | 21 ++++++++-
 .../service/RaftGroupClientRequestServiceTest.java | 19 +++++++-
 55 files changed, 1089 insertions(+), 682 deletions(-)

diff --git a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeNetworkCluster.java b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeNetworkCluster.java
index f2ebbac..f33b619 100644
--- a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeNetworkCluster.java
+++ b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeNetworkCluster.java
@@ -16,12 +16,9 @@
  */
 package org.apache.ignite.network.scalecube;
 
-import io.scalecube.cluster.transport.api.Message;
-import java.time.Duration;
 import java.util.Collection;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Future;
-import java.util.function.Function;
 import java.util.stream.Collectors;
 import io.scalecube.cluster.Cluster;
 import org.apache.ignite.network.NetworkCluster;
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java
index 8dd5ddf..90a2907 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java
@@ -14,6 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.apache.ignite.raft;
 
 /**
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java
index 9587c87..b98baab 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java
@@ -14,6 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.apache.ignite.raft;
 
 import java.io.Serializable;
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
index 5001d74..6b7e076 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
@@ -6,7 +6,7 @@
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,6 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.apache.ignite.raft;
 
 import java.util.List;
@@ -22,7 +23,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Raft group state.
  */
-public interface State  {
+public interface State {
     @Nullable PeerId leader();
 
     @Nullable List<PeerId> peers();
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequestImpl.java
deleted file mode 100644
index dec9076..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequestImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-public class AddLearnersRequestImpl implements RaftClientMessages.AddLearnersRequest, RaftClientMessages.AddLearnersRequest.Builder {
-    private String groupId;
-    private PeerId leaderId;
-    private List<PeerId> learnersList = new ArrayList<>();
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public List<PeerId> getLearnersList() {
-        return learnersList;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public Builder addLearners(PeerId learnerId) {
-        learnersList.add(learnerId);
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.AddLearnersRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerRequestImpl.java
deleted file mode 100644
index d18ee14..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerRequestImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class AddPeerRequestImpl implements RaftClientMessages.AddPeerRequest, RaftClientMessages.AddPeerRequest.Builder {
-    private String groupId;
-    private PeerId leaderId;
-    private PeerId peerId;
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public PeerId getPeerId() {
-        return peerId;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public Builder setPeerId(PeerId peerId) {
-        this.peerId = peerId;
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.AddPeerRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerResponseImpl.java
deleted file mode 100644
index b9e1c00..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerResponseImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class AddPeerResponseImpl implements RaftClientMessages.AddPeerResponse, RaftClientMessages.AddPeerResponse.Builder {
-    private List<PeerId> oldPeersList = new ArrayList<>();
-    private List<PeerId> newPeersList = new ArrayList<>();
-
-    @Override public List<PeerId> getOldPeersList() {
-        return oldPeersList;
-    }
-
-    @Override public List<PeerId> getNewPeersList() {
-        return newPeersList;
-    }
-
-    @Override public Builder addOldPeers(PeerId oldPeersId) {
-        oldPeersList.add(oldPeersId);
-
-        return this;
-    }
-
-    @Override public Builder addNewPeers(PeerId newPeersId) {
-        newPeersList.add(newPeersId);
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.AddPeerResponse build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeerRequestImpl.java
deleted file mode 100644
index 4c611c7..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeerRequestImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class ChangePeerRequestImpl implements RaftClientMessages.ChangePeersRequest, RaftClientMessages.ChangePeersRequest.Builder {
-    private String groupId;
-    private List<PeerId> newPeersList = new ArrayList<>();
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public List<PeerId> getNewPeersList() {
-        return newPeersList;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public Builder addNewPeers(PeerId peerId) {
-        newPeersList.add(peerId);
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.ChangePeersRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersResponseImpl.java
deleted file mode 100644
index bc9f74d..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersResponseImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class ChangePeersResponseImpl implements RaftClientMessages.ChangePeersResponse, RaftClientMessages.ChangePeersResponse.Builder {
-    private List<PeerId> oldPeersList = new ArrayList<>();
-    private List<PeerId> newPeersList = new ArrayList<>();
-
-    @Override public List<PeerId> getOldPeersList() {
-        return oldPeersList;
-    }
-
-    @Override public List<PeerId> getNewPeersList() {
-        return newPeersList;
-    }
-
-    @Override public Builder addOldPeers(PeerId oldPeerId) {
-        oldPeersList.add(oldPeerId);
-
-        return this;
-    }
-
-    @Override public Builder addNewPeers(PeerId newPeerId) {
-        newPeersList.add(newPeerId);
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.ChangePeersResponse build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderRequestImpl.java
deleted file mode 100644
index 4162f81..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderRequestImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-public class GetLeaderRequestImpl implements RaftClientMessages.GetLeaderRequest, RaftClientMessages.GetLeaderRequest.Builder {
-    private String groupId;
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.GetLeaderRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponseImpl.java
deleted file mode 100644
index 0c84245..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponseImpl.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-public class GetLeaderResponseImpl implements RaftClientMessages.GetLeaderResponse, RaftClientMessages.GetLeaderResponse.Builder {
-    private PeerId leaderId;
-
-    @Override public PeerId getLeaderId() {
-        return leaderId;
-    }
-
-    @Override public RaftClientMessages.GetLeaderResponse build() {
-        return this;
-    }
-
-    @Override public Builder setLeaderId(PeerId leaderId) {
-        this.leaderId = leaderId;
-
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersRequestImpl.java
deleted file mode 100644
index d3a2d99..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersRequestImpl.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class GetPeersRequestImpl implements RaftClientMessages.GetPeersRequest, RaftClientMessages.GetPeersRequest.Builder {
-    private String groupId;
-    private boolean onlyAlive;
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public boolean getOnlyAlive() {
-        return onlyAlive;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public Builder setOnlyAlive(boolean onlyGetAlive) {
-        this.onlyAlive = onlyGetAlive;
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.GetPeersRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersResponseImpl.java
deleted file mode 100644
index bed9b6e..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersResponseImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class GetPeersResponseImpl implements RaftClientMessages.GetPeersResponse, RaftClientMessages.GetPeersResponse.Builder {
-    private List<PeerId> peersList = new ArrayList<>();
-    private List<PeerId> learnersList = new ArrayList<>();
-
-    @Override public List<PeerId> getPeersList() {
-        return peersList;
-    }
-
-    @Override public List<PeerId> getLearnersList() {
-        return learnersList;
-    }
-
-    @Override public Builder addPeers(PeerId peerId) {
-        peersList.add(peerId);
-
-        return this;
-    }
-
-    @Override public Builder addLearners(PeerId learnerId) {
-        learnersList.add(learnerId);
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.GetPeersResponse build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/LearnersOpResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/LearnersOpResponseImpl.java
deleted file mode 100644
index b929e90..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/LearnersOpResponseImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class LearnersOpResponseImpl implements RaftClientMessages.LearnersOpResponse, RaftClientMessages.LearnersOpResponse.Builder {
-    private List<PeerId> oldLearnersList = new ArrayList<>();
-    private List<PeerId> newLearnersList = new ArrayList<>();
-
-    @Override public List<PeerId> getOldLearnersList() {
-        return oldLearnersList;
-    }
-
-    @Override public List<PeerId> getNewLearnersList() {
-        return newLearnersList;
-    }
-
-    @Override public Builder addOldLearners(PeerId oldLearnersId) {
-        oldLearnersList.add(oldLearnersId);
-
-        return this;
-    }
-
-    @Override public Builder addNewLearners(PeerId newLearnersId) {
-        newLearnersList.add(newLearnersId);
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.LearnersOpResponse build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/RaftClientMessages.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java
similarity index 96%
rename from modules/raft-client/src/main/java/org/apache/ignite/raft/client/RaftClientMessages.java
rename to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java
index c809a0d..f8fd914 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/RaftClientMessages.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java
@@ -6,7 +6,7 @@
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,10 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: cli.proto
 
-package org.apache.ignite.raft.client;
+package org.apache.ignite.raft.client.message;
 
 import java.util.List;
 import org.apache.ignite.raft.PeerId;
@@ -118,6 +116,8 @@ public final class RaftClientMessages {
     }
 
     public interface SnapshotRequest {
+        String getGroupId();
+
         public interface Builder {
             Builder setGroupId(String groupId);
 
@@ -138,6 +138,8 @@ public final class RaftClientMessages {
     }
 
     public interface TransferLeaderRequest {
+        String getGroupId();
+
         PeerId getPeerId();
 
         public interface Builder {
@@ -148,6 +150,8 @@ public final class RaftClientMessages {
     }
 
     public interface GetLeaderRequest {
+        String getGroupId();
+
         public interface Builder {
             Builder setGroupId(String groupId);
 
@@ -227,7 +231,7 @@ public final class RaftClientMessages {
         }
     }
 
-    public interface LearnersOpResponse  {
+    public interface LearnersOpResponse {
         List<PeerId> getOldLearnersList();
 
         List<PeerId> getNewLearnersList();
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemoveLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemoveLearnersRequestImpl.java
deleted file mode 100644
index b319b69..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemoveLearnersRequestImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class RemoveLearnersRequestImpl implements RaftClientMessages.RemoveLearnersRequest, RaftClientMessages.RemoveLearnersRequest.Builder {
-    private String groupId;
-    private List<PeerId> learnersList = new ArrayList<>();
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public List<PeerId> getLearnersList() {
-        return learnersList;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public Builder addLearners(PeerId learnerId) {
-        learnersList.add(learnerId);
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.RemoveLearnersRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerRequestImpl.java
deleted file mode 100644
index a6d57b1..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerRequestImpl.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class RemovePeerRequestImpl implements RaftClientMessages.RemovePeerRequest, RaftClientMessages.RemovePeerRequest.Builder {
-    private String groupId;
-    private PeerId peerId;
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public PeerId getPeerId() {
-        return peerId;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public Builder setPeerId(PeerId peerId) {
-        this.peerId = peerId;
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.RemovePeerRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerResponseImpl.java
deleted file mode 100644
index 00eae18..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerResponseImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class RemovePeerResponseImpl implements RaftClientMessages.RemovePeerResponse, RaftClientMessages.RemovePeerResponse.Builder {
-    private List<PeerId> oldPeersList = new ArrayList<>();
-    private List<PeerId> newPeersList = new ArrayList<>();
-
-    @Override public List<PeerId> getOldPeersList() {
-        return oldPeersList;
-    }
-
-    @Override public List<PeerId> getNewPeersList() {
-        return newPeersList;
-    }
-
-    @Override public Builder addOldPeers(PeerId oldPeerId) {
-        oldPeersList.add(oldPeerId);
-
-        return this;
-    }
-
-    @Override public Builder addNewPeers(PeerId newPeerId) {
-        newPeersList.add(newPeerId);
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.RemovePeerResponse build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetLearnersRequestImpl.java
deleted file mode 100644
index e1d144d..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetLearnersRequestImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class ResetLearnersRequestImpl implements RaftClientMessages.ResetLearnersRequest, RaftClientMessages.ResetLearnersRequest.Builder {
-    private String groupId;
-    private List<PeerId> learnersList = new ArrayList<>();
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public List<PeerId> getLearnersList() {
-        return learnersList;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public Builder addLearners(PeerId learnerId) {
-        learnersList.add(learnerId);
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.ResetLearnersRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetPeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetPeerRequestImpl.java
deleted file mode 100644
index 4ead585..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetPeerRequestImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class ResetPeerRequestImpl implements RaftClientMessages.ResetPeerRequest, RaftClientMessages.ResetPeerRequest.Builder {
-    private String groupId;
-    private List<PeerId> newPeersList = new ArrayList<>();
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public List<PeerId> getNewPeersList() {
-        return newPeersList;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public Builder addNewPeers(PeerId peerId) {
-        newPeersList.add(peerId);
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.ResetPeerRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/SnapshotRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/SnapshotRequestImpl.java
deleted file mode 100644
index 2b2eea6..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/SnapshotRequestImpl.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class SnapshotRequestImpl implements RaftClientMessages.SnapshotRequest, RaftClientMessages.SnapshotRequest.Builder {
-    private String groupId;
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.SnapshotRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/TransferLeaderRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/TransferLeaderRequestImpl.java
deleted file mode 100644
index 24957df..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/TransferLeaderRequestImpl.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-class TransferLeaderRequestImpl implements RaftClientMessages.TransferLeaderRequest, RaftClientMessages.TransferLeaderRequest.Builder {
-    private String groupId;
-    private PeerId peerId;
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    @Override public PeerId getPeerId() {
-        return peerId;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.TransferLeaderRequest build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserRequestImpl.java
deleted file mode 100644
index 93cc463..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserRequestImpl.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-public class UserRequestImpl<T> implements RaftClientMessages.UserRequest, RaftClientMessages.UserRequest.Builder {
-    private Object request;
-    private String groupId;
-
-    @Override public Object request() {
-        return request;
-    }
-
-    @Override public Builder setGroupId(String groupId) {
-        this.groupId = groupId;
-
-        return this;
-    }
-
-    @Override public Builder setRequest(Object request) {
-        this.request = request;
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.UserRequest build() {
-        return this;
-    }
-
-    @Override public String getGroupId() {
-        return groupId;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserResponseImpl.java
deleted file mode 100644
index 0d62953..0000000
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserResponseImpl.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.apache.ignite.raft.client.message;
-
-import org.apache.ignite.raft.client.RaftClientMessages;
-
-public class UserResponseImpl<T> implements RaftClientMessages.UserResponse<T>, RaftClientMessages.UserResponse.Builder<T> {
-    private T response;
-
-    @Override public T response() {
-        return response;
-    }
-
-    @Override public Builder setResponse(T response) {
-        this.response = response;
-
-        return this;
-    }
-
-    @Override public RaftClientMessages.UserResponse build() {
-        return this;
-    }
-}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java
new file mode 100644
index 0000000..8f2be91
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+public class AddLearnersRequestImpl implements RaftClientMessages.AddLearnersRequest, RaftClientMessages.AddLearnersRequest.Builder {
+    private String groupId;
+
+    private List<PeerId> learnersList = new ArrayList<>();
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public List<PeerId> getLearnersList() {
+        return learnersList;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
+
+        return this;
+    }
+
+    @Override public Builder addLearners(PeerId learnerId) {
+        learnersList.add(learnerId);
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.AddLearnersRequest build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java
new file mode 100644
index 0000000..b492c4d
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class AddPeerRequestImpl implements RaftClientMessages.AddPeerRequest, RaftClientMessages.AddPeerRequest.Builder {
+    private String groupId;
+
+    private PeerId peerId;
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public PeerId getPeerId() {
+        return peerId;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
+
+        return this;
+    }
+
+    @Override public Builder setPeerId(PeerId peerId) {
+        this.peerId = peerId;
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.AddPeerRequest build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java
new file mode 100644
index 0000000..61f2450
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class AddPeerResponseImpl implements RaftClientMessages.AddPeerResponse, RaftClientMessages.AddPeerResponse.Builder {
+    private List<PeerId> oldPeersList = new ArrayList<>();
+
+    private List<PeerId> newPeersList = new ArrayList<>();
+
+    @Override public List<PeerId> getOldPeersList() {
+        return oldPeersList;
+    }
+
+    @Override public List<PeerId> getNewPeersList() {
+        return newPeersList;
+    }
+
+    @Override public Builder addOldPeers(PeerId oldPeersId) {
+        oldPeersList.add(oldPeersId);
+
+        return this;
+    }
+
+    @Override public Builder addNewPeers(PeerId newPeersId) {
+        newPeersList.add(newPeersId);
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.AddPeerResponse build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java
new file mode 100644
index 0000000..657ef63
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class ChangePeerRequestImpl implements RaftClientMessages.ChangePeersRequest, RaftClientMessages.ChangePeersRequest.Builder {
+    private String groupId;
+
+    private List<PeerId> newPeersList = new ArrayList<>();
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public List<PeerId> getNewPeersList() {
+        return newPeersList;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
+
+        return this;
+    }
+
+    @Override public Builder addNewPeers(PeerId peerId) {
+        newPeersList.add(peerId);
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.ChangePeersRequest build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java
new file mode 100644
index 0000000..f33f4c0
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class ChangePeersResponseImpl implements RaftClientMessages.ChangePeersResponse, RaftClientMessages.ChangePeersResponse.Builder {
+    private List<PeerId> oldPeersList = new ArrayList<>();
+
+    private List<PeerId> newPeersList = new ArrayList<>();
+
+    @Override public List<PeerId> getOldPeersList() {
+        return oldPeersList;
+    }
+
+    @Override public List<PeerId> getNewPeersList() {
+        return newPeersList;
+    }
+
+    @Override public Builder addOldPeers(PeerId oldPeerId) {
+        oldPeersList.add(oldPeerId);
+
+        return this;
+    }
+
+    @Override public Builder addNewPeers(PeerId newPeerId) {
+        newPeersList.add(newPeerId);
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.ChangePeersResponse build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java
similarity index 55%
copy from modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
copy to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java
index 5001d74..6a2ae69 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java
@@ -6,7 +6,7 @@
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,18 +14,25 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.ignite.raft;
 
-import java.util.List;
-import org.jetbrains.annotations.Nullable;
+package org.apache.ignite.raft.client.message.impl;
 
-/**
- * Raft group state.
- */
-public interface State  {
-    @Nullable PeerId leader();
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+public class GetLeaderRequestImpl implements RaftClientMessages.GetLeaderRequest, RaftClientMessages.GetLeaderRequest.Builder {
+    private String groupId;
+
+    @Override public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
 
-    @Nullable List<PeerId> peers();
+        return this;
+    }
 
-    @Nullable List<PeerId> learners();
+    @Override public RaftClientMessages.GetLeaderRequest build() {
+        return this;
+    }
 }
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java
similarity index 53%
copy from modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
copy to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java
index 5001d74..3e62084 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java
@@ -6,7 +6,7 @@
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,18 +14,26 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.ignite.raft;
 
-import java.util.List;
-import org.jetbrains.annotations.Nullable;
+package org.apache.ignite.raft.client.message.impl;
 
-/**
- * Raft group state.
- */
-public interface State  {
-    @Nullable PeerId leader();
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+public class GetLeaderResponseImpl implements RaftClientMessages.GetLeaderResponse, RaftClientMessages.GetLeaderResponse.Builder {
+    private PeerId leaderId;
+
+    @Override public PeerId getLeaderId() {
+        return leaderId;
+    }
+
+    @Override public RaftClientMessages.GetLeaderResponse build() {
+        return this;
+    }
 
-    @Nullable List<PeerId> peers();
+    @Override public Builder setLeaderId(PeerId leaderId) {
+        this.leaderId = leaderId;
 
-    @Nullable List<PeerId> learners();
+        return this;
+    }
 }
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersRequestImpl.java
new file mode 100644
index 0000000..0d6842a
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersRequestImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class GetPeersRequestImpl implements RaftClientMessages.GetPeersRequest, RaftClientMessages.GetPeersRequest.Builder {
+    private String groupId;
+
+    private boolean onlyAlive;
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public boolean getOnlyAlive() {
+        return onlyAlive;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
+
+        return this;
+    }
+
+    @Override public Builder setOnlyAlive(boolean onlyGetAlive) {
+        this.onlyAlive = onlyGetAlive;
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.GetPeersRequest build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java
new file mode 100644
index 0000000..a5fc836
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class GetPeersResponseImpl implements RaftClientMessages.GetPeersResponse, RaftClientMessages.GetPeersResponse.Builder {
+    private List<PeerId> peersList = new ArrayList<>();
+
+    private List<PeerId> learnersList = new ArrayList<>();
+
+    @Override public List<PeerId> getPeersList() {
+        return peersList;
+    }
+
+    @Override public List<PeerId> getLearnersList() {
+        return learnersList;
+    }
+
+    @Override public Builder addPeers(PeerId peerId) {
+        peersList.add(peerId);
+
+        return this;
+    }
+
+    @Override public Builder addLearners(PeerId learnerId) {
+        learnersList.add(learnerId);
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.GetPeersResponse build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java
new file mode 100644
index 0000000..0e846d2
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class LearnersOpResponseImpl implements RaftClientMessages.LearnersOpResponse, RaftClientMessages.LearnersOpResponse.Builder {
+    private List<PeerId> oldLearnersList = new ArrayList<>();
+
+    private List<PeerId> newLearnersList = new ArrayList<>();
+
+    @Override public List<PeerId> getOldLearnersList() {
+        return oldLearnersList;
+    }
+
+    @Override public List<PeerId> getNewLearnersList() {
+        return newLearnersList;
+    }
+
+    @Override public Builder addOldLearners(PeerId oldLearnersId) {
+        oldLearnersList.add(oldLearnersId);
+
+        return this;
+    }
+
+    @Override public Builder addNewLearners(PeerId newLearnersId) {
+        newLearnersList.add(newLearnersId);
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.LearnersOpResponse build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactory.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactory.java
similarity index 62%
rename from modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactory.java
rename to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactory.java
index 95a350d..22dd9ce 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactory.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactory.java
@@ -1,6 +1,23 @@
-package org.apache.ignite.raft.client.message;
-
-import org.apache.ignite.raft.client.RaftClientMessages;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 /** */
 public interface RaftClientMessageFactory {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactoryImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactoryImpl.java
similarity index 76%
rename from modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactoryImpl.java
rename to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactoryImpl.java
index 6e170ae..9464368 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactoryImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactoryImpl.java
@@ -1,6 +1,23 @@
-package org.apache.ignite.raft.client.message;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
 
-import org.apache.ignite.raft.client.RaftClientMessages;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
 
 /**
  * Raft client message factory.
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java
new file mode 100644
index 0000000..f063e46
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class RemoveLearnersRequestImpl implements RaftClientMessages.RemoveLearnersRequest, RaftClientMessages.RemoveLearnersRequest.Builder {
+    private String groupId;
+
+    private List<PeerId> learnersList = new ArrayList<>();
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public List<PeerId> getLearnersList() {
+        return learnersList;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
+
+        return this;
+    }
+
+    @Override public Builder addLearners(PeerId learnerId) {
+        learnersList.add(learnerId);
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.RemoveLearnersRequest build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java
new file mode 100644
index 0000000..30d3d18
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class RemovePeerRequestImpl implements RaftClientMessages.RemovePeerRequest, RaftClientMessages.RemovePeerRequest.Builder {
+    private String groupId;
+
+    private PeerId peerId;
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public PeerId getPeerId() {
+        return peerId;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
+
+        return this;
+    }
+
+    @Override public Builder setPeerId(PeerId peerId) {
+        this.peerId = peerId;
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.RemovePeerRequest build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java
new file mode 100644
index 0000000..819d8ec
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class RemovePeerResponseImpl implements RaftClientMessages.RemovePeerResponse, RaftClientMessages.RemovePeerResponse.Builder {
+    private List<PeerId> oldPeersList = new ArrayList<>();
+
+    private List<PeerId> newPeersList = new ArrayList<>();
+
+    @Override public List<PeerId> getOldPeersList() {
+        return oldPeersList;
+    }
+
+    @Override public List<PeerId> getNewPeersList() {
+        return newPeersList;
+    }
+
+    @Override public Builder addOldPeers(PeerId oldPeerId) {
+        oldPeersList.add(oldPeerId);
+
+        return this;
+    }
+
+    @Override public Builder addNewPeers(PeerId newPeerId) {
+        newPeersList.add(newPeerId);
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.RemovePeerResponse build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java
new file mode 100644
index 0000000..1371b00
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class ResetLearnersRequestImpl implements RaftClientMessages.ResetLearnersRequest, RaftClientMessages.ResetLearnersRequest.Builder {
+    private String groupId;
+
+    private List<PeerId> learnersList = new ArrayList<>();
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public List<PeerId> getLearnersList() {
+        return learnersList;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
+
+        return this;
+    }
+
+    @Override public Builder addLearners(PeerId learnerId) {
+        learnersList.add(learnerId);
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.ResetLearnersRequest build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java
new file mode 100644
index 0000000..fba3dea
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class ResetPeerRequestImpl implements RaftClientMessages.ResetPeerRequest, RaftClientMessages.ResetPeerRequest.Builder {
+    private String groupId;
+
+    private List<PeerId> newPeersList = new ArrayList<>();
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public List<PeerId> getNewPeersList() {
+        return newPeersList;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
+
+        return this;
+    }
+
+    @Override public Builder addNewPeers(PeerId peerId) {
+        newPeersList.add(peerId);
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.ResetPeerRequest build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java
similarity index 55%
copy from modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
copy to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java
index 5001d74..69b3ac8 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java
@@ -6,7 +6,7 @@
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,18 +14,25 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.ignite.raft;
 
-import java.util.List;
-import org.jetbrains.annotations.Nullable;
+package org.apache.ignite.raft.client.message.impl;
 
-/**
- * Raft group state.
- */
-public interface State  {
-    @Nullable PeerId leader();
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class SnapshotRequestImpl implements RaftClientMessages.SnapshotRequest, RaftClientMessages.SnapshotRequest.Builder {
+    private String groupId;
+
+    @Override public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
 
-    @Nullable List<PeerId> peers();
+        return this;
+    }
 
-    @Nullable List<PeerId> learners();
+    @Override public RaftClientMessages.SnapshotRequest build() {
+        return this;
+    }
 }
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java
new file mode 100644
index 0000000..3cc7e98
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+class TransferLeaderRequestImpl implements RaftClientMessages.TransferLeaderRequest, RaftClientMessages.TransferLeaderRequest.Builder {
+    private String groupId;
+
+    private PeerId peerId;
+
+    @Override public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public PeerId getPeerId() {
+        return peerId;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.TransferLeaderRequest build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserRequestImpl.java
new file mode 100644
index 0000000..e933c24
--- /dev/null
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserRequestImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.raft.client.message.impl;
+
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+public class UserRequestImpl<T> implements RaftClientMessages.UserRequest, RaftClientMessages.UserRequest.Builder {
+    private Object request;
+
+    private String groupId;
+
+    @Override public Object request() {
+        return request;
+    }
+
+    @Override public String getGroupId() {
+        return groupId;
+    }
+
+    @Override public Builder setGroupId(String groupId) {
+        this.groupId = groupId;
+
+        return this;
+    }
+
+    @Override public Builder setRequest(Object request) {
+        this.request = request;
+
+        return this;
+    }
+
+    @Override public RaftClientMessages.UserRequest build() {
+        return this;
+    }
+}
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java
similarity index 56%
copy from modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
copy to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java
index 5001d74..8c1a530 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java
@@ -6,7 +6,7 @@
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,18 +14,25 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.ignite.raft;
 
-import java.util.List;
-import org.jetbrains.annotations.Nullable;
+package org.apache.ignite.raft.client.message.impl;
 
-/**
- * Raft group state.
- */
-public interface State  {
-    @Nullable PeerId leader();
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+
+public class UserResponseImpl<T> implements RaftClientMessages.UserResponse<T>, RaftClientMessages.UserResponse.Builder<T> {
+    private T response;
+
+    @Override public T response() {
+        return response;
+    }
+
+    @Override public Builder setResponse(T response) {
+        this.response = response;
 
-    @Nullable List<PeerId> peers();
+        return this;
+    }
 
-    @Nullable List<PeerId> learners();
+    @Override public RaftClientMessages.UserResponse build() {
+        return this;
+    }
 }
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java
index 382e953..d6b863a 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java
@@ -14,29 +14,30 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.apache.ignite.raft.client.rpc;
 
 import java.util.concurrent.CompletableFuture;
 import javax.validation.constraints.NotNull;
 import org.apache.ignite.raft.State;
 import org.apache.ignite.raft.PeerId;
-import org.apache.ignite.raft.client.RaftClientMessages.UserRequest;
-import org.apache.ignite.raft.client.RaftClientMessages.UserResponse;
-import org.apache.ignite.raft.client.message.RaftClientMessageFactory;
-
-import static org.apache.ignite.raft.client.RaftClientMessages.AddLearnersRequest;
-import static org.apache.ignite.raft.client.RaftClientMessages.AddPeerRequest;
-import static org.apache.ignite.raft.client.RaftClientMessages.AddPeerResponse;
-import static org.apache.ignite.raft.client.RaftClientMessages.ChangePeersRequest;
-import static org.apache.ignite.raft.client.RaftClientMessages.ChangePeersResponse;
-import static org.apache.ignite.raft.client.RaftClientMessages.LearnersOpResponse;
-import static org.apache.ignite.raft.client.RaftClientMessages.RemoveLearnersRequest;
-import static org.apache.ignite.raft.client.RaftClientMessages.RemovePeerRequest;
-import static org.apache.ignite.raft.client.RaftClientMessages.RemovePeerResponse;
-import static org.apache.ignite.raft.client.RaftClientMessages.ResetLearnersRequest;
-import static org.apache.ignite.raft.client.RaftClientMessages.ResetPeerRequest;
-import static org.apache.ignite.raft.client.RaftClientMessages.SnapshotRequest;
-import static org.apache.ignite.raft.client.RaftClientMessages.TransferLeaderRequest;
+import org.apache.ignite.raft.client.message.RaftClientMessages.UserRequest;
+import org.apache.ignite.raft.client.message.RaftClientMessages.UserResponse;
+import org.apache.ignite.raft.client.message.impl.RaftClientMessageFactory;
+
+import static org.apache.ignite.raft.client.message.RaftClientMessages.AddLearnersRequest;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.AddPeerRequest;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.AddPeerResponse;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.ChangePeersRequest;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.ChangePeersResponse;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.LearnersOpResponse;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.RemoveLearnersRequest;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.RemovePeerRequest;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.RemovePeerResponse;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.ResetLearnersRequest;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.ResetPeerRequest;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.SnapshotRequest;
+import static org.apache.ignite.raft.client.message.RaftClientMessages.TransferLeaderRequest;
 
 /**
  * Replicating group RPC client.
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java
index 4f46ed9..ac9cb5c 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.ignite.raft.client.rpc.impl;
 
 import java.util.HashSet;
@@ -10,15 +27,16 @@ import org.apache.ignite.network.NetworkCluster;
 import org.apache.ignite.network.NetworkMember;
 import org.apache.ignite.raft.PeerId;
 import org.apache.ignite.raft.State;
-import org.apache.ignite.raft.client.RaftClientMessages;
-import org.apache.ignite.raft.client.RaftClientMessages.GetLeaderResponse;
-import org.apache.ignite.raft.client.message.RaftClientMessageFactory;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
+import org.apache.ignite.raft.client.message.RaftClientMessages.GetLeaderResponse;
+import org.apache.ignite.raft.client.message.impl.RaftClientMessageFactory;
 import org.apache.ignite.raft.client.rpc.RaftGroupRpcClient;
 import org.jetbrains.annotations.Nullable;
 
 import static java.util.concurrent.CompletableFuture.completedFuture;
 
 public class RaftGroupRpcClientImpl implements RaftGroupRpcClient {
+    /** */
     private final NetworkCluster cluster;
 
     /** Where to ask for initial configuration. */
@@ -30,11 +48,12 @@ public class RaftGroupRpcClientImpl implements RaftGroupRpcClient {
     /** */
     private final int defaultTimeout;
 
-    private Map<String, StateImpl> states = new ConcurrentHashMap<>();
+    /** */
+    private final Map<String, StateImpl> states = new ConcurrentHashMap<>();
 
     /**
-     * Accepts dependencies in constructor.
      * @param cluster Cluster.
+     * @param factory Factory.
      * @param defaultTimeout Default request timeout.
      * @param initialCfgNode Initial configuration nodes.
      */
@@ -119,6 +138,7 @@ public class RaftGroupRpcClientImpl implements RaftGroupRpcClient {
         return this.factory;
     }
 
+    /** */
     private static class StateImpl implements State {
         private volatile PeerId leader;
 
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java
index c007086..1fc7a89 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.ignite.raft.client.service;
 
 import java.util.Iterator;
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java
index a4a8a59..1d1eccc 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.ignite.raft.client.service;
 
 import java.util.concurrent.CompletableFuture;
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java
index 2bd8fac..455173d 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.ignite.raft.client.service;
 
 import java.util.List;
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java
index c5b7c25..35a72e5 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java
@@ -1,12 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.ignite.raft.client.service.impl;
 
 import java.util.concurrent.CompletableFuture;
-import org.apache.ignite.raft.client.RaftClientMessages;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
 import org.apache.ignite.raft.client.rpc.RaftGroupRpcClient;
 import org.apache.ignite.raft.client.service.RaftGroupClientRequestService;
 
 public class RaftGroupClientRequestServiceImpl implements RaftGroupClientRequestService {
     private final RaftGroupRpcClient rpcClient;
+
     private final String groupId;
 
     public RaftGroupClientRequestServiceImpl(RaftGroupRpcClient rpcClient, String groupId) {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java
index 28e28c8..383044a 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.ignite.raft.client.service.impl;
 
 import java.util.List;
diff --git a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java
index 9edc931..9de90dc 100644
--- a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java
+++ b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.ignite.raft.client;
 
 import java.util.concurrent.CompletableFuture;
@@ -5,12 +22,13 @@ import java.util.concurrent.TimeoutException;
 import org.apache.ignite.network.NetworkCluster;
 import org.apache.ignite.network.NetworkMember;
 import org.apache.ignite.raft.PeerId;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
 import org.mockito.ArgumentMatcher;
 import org.mockito.Mockito;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
-import static org.apache.ignite.raft.client.message.RaftClientMessageFactoryImpl.INSTANCE;
+import static org.apache.ignite.raft.client.message.impl.RaftClientMessageFactoryImpl.INSTANCE;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.ArgumentMatchers.argThat;
diff --git a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java
index 8ab61e3..e7fe41e 100644
--- a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java
+++ b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.ignite.raft.client.rpc;
 
 import java.util.concurrent.CountDownLatch;
@@ -9,7 +26,7 @@ import org.apache.ignite.raft.client.MockUtils.TestInput1;
 import org.apache.ignite.raft.client.MockUtils.TestInput2;
 import org.apache.ignite.raft.client.MockUtils.TestOutput1;
 import org.apache.ignite.raft.client.MockUtils.TestOutput2;
-import org.apache.ignite.raft.client.RaftClientMessages;
+import org.apache.ignite.raft.client.message.RaftClientMessages;
 import org.apache.ignite.raft.client.rpc.impl.RaftGroupRpcClientImpl;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -21,7 +38,7 @@ import static org.apache.ignite.raft.client.MockUtils.LEADER;
 import static org.apache.ignite.raft.client.MockUtils.mockLeaderRequest;
 import static org.apache.ignite.raft.client.MockUtils.mockUserInput1;
 import static org.apache.ignite.raft.client.MockUtils.mockUserInput2;
-import static org.apache.ignite.raft.client.message.RaftClientMessageFactoryImpl.INSTANCE;
+import static org.apache.ignite.raft.client.message.impl.RaftClientMessageFactoryImpl.INSTANCE;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
diff --git a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestServiceTest.java b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestServiceTest.java
index 1c802a0..4aaa2a6 100644
--- a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestServiceTest.java
+++ b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestServiceTest.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.ignite.raft.client.service;
 
 import java.util.concurrent.CompletableFuture;
@@ -19,7 +36,7 @@ import static org.apache.ignite.raft.client.MockUtils.LEADER;
 import static org.apache.ignite.raft.client.MockUtils.mockLeaderRequest;
 import static org.apache.ignite.raft.client.MockUtils.mockUserInput1;
 import static org.apache.ignite.raft.client.MockUtils.mockUserInput2;
-import static org.apache.ignite.raft.client.message.RaftClientMessageFactoryImpl.INSTANCE;
+import static org.apache.ignite.raft.client.message.impl.RaftClientMessageFactoryImpl.INSTANCE;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;