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 <[email protected]> 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());
