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 55342037ee3414e3496e9bf1825bf292d4df2ebd Author: Alexey Scherbakov <[email protected]> AuthorDate: Fri Mar 12 19:32:38 2021 +0300 IGNITE-14149 Cleanup code 9. --- .../org/apache/ignite/raft/client/Command.java | 4 + .../java/org/apache/ignite/raft/client/PeerId.java | 5 +- .../org/apache/ignite/raft/client/ReadCommand.java | 4 + .../apache/ignite/raft/client/WriteCommand.java | 4 + .../raft/client/message/AddLearnersRequest.java | 16 ++ .../ignite/raft/client/message/AddPeerRequest.java | 15 ++ .../raft/client/message/AddPeerResponse.java | 18 ++ .../raft/client/message/ChangePeersRequest.java | 16 ++ .../raft/client/message/ChangePeersResponse.java | 18 ++ .../raft/client/message/GetLeaderRequest.java | 11 + .../raft/client/message/GetLeaderResponse.java | 13 + .../raft/client/message/GetPeersRequest.java | 13 + .../raft/client/message/GetPeersResponse.java | 18 ++ .../raft/client/message/LearnersOpResponse.java | 18 ++ .../raft/client/message/RaftClientMessages.java | 261 --------------------- .../raft/client/message/RemoveLearnersRequest.java | 16 ++ .../raft/client/message/RemovePeerRequest.java | 15 ++ .../raft/client/message/RemovePeerResponse.java | 18 ++ .../raft/client/message/ResetLearnersRequest.java | 16 ++ .../raft/client/message/ResetPeerRequest.java | 16 ++ .../raft/client/message/SnapshotRequest.java | 11 + .../raft/client/message/TransferLeaderRequest.java | 15 ++ .../ignite/raft/client/message/UserRequest.java | 17 ++ .../ignite/raft/client/message/UserResponse.java | 11 + .../message/impl/AddLearnersRequestImpl.java | 6 +- .../client/message/impl/AddPeerRequestImpl.java | 6 +- .../client/message/impl/AddPeerResponseImpl.java | 6 +- .../client/message/impl/ChangePeerRequestImpl.java | 6 +- .../message/impl/ChangePeersResponseImpl.java | 6 +- .../client/message/impl/GetLeaderRequestImpl.java | 6 +- .../client/message/impl/GetLeaderResponseImpl.java | 6 +- .../client/message/impl/GetPeersRequestImpl.java | 6 +- .../client/message/impl/GetPeersResponseImpl.java | 6 +- .../message/impl/LearnersOpResponseImpl.java | 6 +- .../message/impl/RaftClientMessageFactory.java | 58 +++-- .../message/impl/RaftClientMessageFactoryImpl.java | 58 +++-- .../message/impl/RemoveLearnersRequestImpl.java | 6 +- .../client/message/impl/RemovePeerRequestImpl.java | 6 +- .../message/impl/RemovePeerResponseImpl.java | 6 +- .../message/impl/ResetLearnersRequestImpl.java | 6 +- .../client/message/impl/ResetPeerRequestImpl.java | 6 +- .../client/message/impl/SnapshotRequestImpl.java | 6 +- .../message/impl/TransferLeaderRequestImpl.java | 6 +- .../raft/client/message/impl/UserRequestImpl.java | 6 +- .../raft/client/message/impl/UserResponseImpl.java | 6 +- .../ignite/raft/client/rpc/RaftGroupRpcClient.java | 35 +-- .../client/rpc/impl/RaftGroupRpcClientImpl.java | 41 +++- .../service/RaftGroupClientRequestListener.java | 6 +- .../service/RaftGroupClientRequestService.java | 7 +- .../impl/RaftGroupClientRequestServiceImpl.java | 20 +- .../org/apache/ignite/raft/client/MockUtils.java | 26 +- .../raft/client/rpc/RaftGroupRpcClientTest.java | 6 +- .../service/RaftGroupClientRequestServiceTest.java | 4 +- 53 files changed, 526 insertions(+), 418 deletions(-) diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/Command.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/Command.java new file mode 100644 index 0000000..80de84d --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/Command.java @@ -0,0 +1,4 @@ +package org.apache.ignite.raft.client; + +public interface Command { +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/PeerId.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/PeerId.java index 6a268d8..4f5f2e3 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/PeerId.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/PeerId.java @@ -17,15 +17,12 @@ package org.apache.ignite.raft.client; -import java.io.Serializable; import org.apache.ignite.network.NetworkMember; /** * Represents a participant in a replication group. */ -public final class PeerId implements Serializable { - private static final long serialVersionUID = 8083529734784884641L; - +public final class PeerId { /** * Cluster node for peer. */ diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/ReadCommand.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/ReadCommand.java new file mode 100644 index 0000000..d5d3a59 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/ReadCommand.java @@ -0,0 +1,4 @@ +package org.apache.ignite.raft.client; + +public interface ReadCommand extends Command { +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/WriteCommand.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/WriteCommand.java new file mode 100644 index 0000000..c15d38a --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/WriteCommand.java @@ -0,0 +1,4 @@ +package org.apache.ignite.raft.client; + +public interface WriteCommand extends Command { +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequest.java new file mode 100644 index 0000000..07d97fa --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequest.java @@ -0,0 +1,16 @@ +package org.apache.ignite.raft.client.message; + +import java.util.List; +import org.apache.ignite.raft.client.PeerId; + +public interface AddLearnersRequest { + List<PeerId> getLearnersList(); + + public interface Builder { + Builder setGroupId(String groupId); + + Builder addLearners(PeerId learnerId); + + AddLearnersRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerRequest.java new file mode 100644 index 0000000..2baec3d --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerRequest.java @@ -0,0 +1,15 @@ +package org.apache.ignite.raft.client.message; + +import org.apache.ignite.raft.client.PeerId; + +public interface AddPeerRequest { + PeerId getPeerId(); + + interface Builder { + Builder setGroupId(String groupId); + + Builder setPeerId(PeerId peerId); + + AddPeerRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerResponse.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerResponse.java new file mode 100644 index 0000000..590c08a --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerResponse.java @@ -0,0 +1,18 @@ +package org.apache.ignite.raft.client.message; + +import java.util.List; +import org.apache.ignite.raft.client.PeerId; + +public interface AddPeerResponse { + List<PeerId> getOldPeersList(); + + List<PeerId> getNewPeersList(); + + public interface Builder { + Builder addOldPeers(PeerId oldPeersId); + + Builder addNewPeers(PeerId newPeersId); + + AddPeerResponse build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersRequest.java new file mode 100644 index 0000000..0416167 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersRequest.java @@ -0,0 +1,16 @@ +package org.apache.ignite.raft.client.message; + +import java.util.List; +import org.apache.ignite.raft.client.PeerId; + +public interface ChangePeersRequest { + List<PeerId> getNewPeersList(); + + public interface Builder { + Builder setGroupId(String groupId); + + Builder addNewPeers(PeerId peerId); + + ChangePeersRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersResponse.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersResponse.java new file mode 100644 index 0000000..2ef6ed2 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersResponse.java @@ -0,0 +1,18 @@ +package org.apache.ignite.raft.client.message; + +import java.util.List; +import org.apache.ignite.raft.client.PeerId; + +public interface ChangePeersResponse { + List<PeerId> getOldPeersList(); + + List<PeerId> getNewPeersList(); + + public interface Builder { + Builder addOldPeers(PeerId oldPeerId); + + Builder addNewPeers(PeerId newPeerId); + + ChangePeersResponse build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderRequest.java new file mode 100644 index 0000000..b00b3c6 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderRequest.java @@ -0,0 +1,11 @@ +package org.apache.ignite.raft.client.message; + +public interface GetLeaderRequest { + String getGroupId(); + + public interface Builder { + Builder setGroupId(String groupId); + + GetLeaderRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponse.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponse.java new file mode 100644 index 0000000..6d7d90e --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponse.java @@ -0,0 +1,13 @@ +package org.apache.ignite.raft.client.message; + +import org.apache.ignite.raft.client.PeerId; + +public interface GetLeaderResponse { + PeerId getLeaderId(); + + public interface Builder { + GetLeaderResponse build(); + + Builder setLeaderId(PeerId leaderId); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersRequest.java new file mode 100644 index 0000000..96bab5a --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersRequest.java @@ -0,0 +1,13 @@ +package org.apache.ignite.raft.client.message; + +public interface GetPeersRequest { + boolean getOnlyAlive(); + + public interface Builder { + Builder setGroupId(String groupId); + + Builder setOnlyAlive(boolean onlyGetAlive); + + GetPeersRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersResponse.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersResponse.java new file mode 100644 index 0000000..edeaade --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersResponse.java @@ -0,0 +1,18 @@ +package org.apache.ignite.raft.client.message; + +import java.util.List; +import org.apache.ignite.raft.client.PeerId; + +public interface GetPeersResponse { + List<PeerId> getPeersList(); + + List<PeerId> getLearnersList(); + + public interface Builder { + Builder addPeers(PeerId peerId); + + Builder addLearners(PeerId learnerId); + + GetPeersResponse build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/LearnersOpResponse.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/LearnersOpResponse.java new file mode 100644 index 0000000..0b4ef69 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/LearnersOpResponse.java @@ -0,0 +1,18 @@ +package org.apache.ignite.raft.client.message; + +import java.util.List; +import org.apache.ignite.raft.client.PeerId; + +public interface LearnersOpResponse { + List<PeerId> getOldLearnersList(); + + List<PeerId> getNewLearnersList(); + + public interface Builder { + Builder addOldLearners(PeerId oldLearnersId); + + Builder addNewLearners(PeerId newLearnersId); + + LearnersOpResponse build(); + } +} 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 deleted file mode 100644 index db16acc..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java +++ /dev/null @@ -1,261 +0,0 @@ -/* - * 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; - -import java.util.List; -import org.apache.ignite.raft.client.PeerId; - -/** - * Raft client messages. - */ -public final class RaftClientMessages { - private RaftClientMessages() { - } - - public interface AddPeerRequest { - PeerId getPeerId(); - - interface Builder { - Builder setGroupId(String groupId); - - Builder setPeerId(PeerId peerId); - - AddPeerRequest build(); - } - } - - public interface AddPeerResponse { - List<PeerId> getOldPeersList(); - - List<PeerId> getNewPeersList(); - - public interface Builder { - Builder addOldPeers(PeerId oldPeersId); - - Builder addNewPeers(PeerId newPeersId); - - AddPeerResponse build(); - } - } - - public interface RemovePeerRequest { - PeerId getPeerId(); - - interface Builder { - Builder setGroupId(String groupId); - - Builder setPeerId(PeerId peerId); - - RemovePeerRequest build(); - } - } - - public interface RemovePeerResponse { - List<PeerId> getOldPeersList(); - - List<PeerId> getNewPeersList(); - - public interface Builder { - Builder addOldPeers(PeerId oldPeerId); - - Builder addNewPeers(PeerId newPeerId); - - RemovePeerResponse build(); - } - } - - public interface ChangePeersRequest { - List<PeerId> getNewPeersList(); - - public interface Builder { - Builder setGroupId(String groupId); - - Builder addNewPeers(PeerId peerId); - - ChangePeersRequest build(); - } - } - - public interface ChangePeersResponse { - List<PeerId> getOldPeersList(); - - List<PeerId> getNewPeersList(); - - public interface Builder { - Builder addOldPeers(PeerId oldPeerId); - - Builder addNewPeers(PeerId newPeerId); - - ChangePeersResponse build(); - } - } - - public interface SnapshotRequest { - String getGroupId(); - - public interface Builder { - Builder setGroupId(String groupId); - - SnapshotRequest build(); - } - } - - public interface ResetPeerRequest { - List<PeerId> getNewPeersList(); - - public interface Builder { - Builder setGroupId(String groupId); - - Builder addNewPeers(PeerId peerId); - - ResetPeerRequest build(); - } - } - - public interface TransferLeaderRequest { - String getGroupId(); - - PeerId getPeerId(); - - public interface Builder { - Builder setGroupId(String groupId); - - TransferLeaderRequest build(); - } - } - - public interface GetLeaderRequest { - String getGroupId(); - - public interface Builder { - Builder setGroupId(String groupId); - - GetLeaderRequest build(); - } - } - - public interface GetLeaderResponse { - PeerId getLeaderId(); - - public interface Builder { - GetLeaderResponse build(); - - Builder setLeaderId(PeerId leaderId); - } - } - - public interface GetPeersRequest { - boolean getOnlyAlive(); - - public interface Builder { - Builder setGroupId(String groupId); - - Builder setOnlyAlive(boolean onlyGetAlive); - - GetPeersRequest build(); - } - } - - public interface GetPeersResponse { - List<PeerId> getPeersList(); - - List<PeerId> getLearnersList(); - - public interface Builder { - Builder addPeers(PeerId peerId); - - Builder addLearners(PeerId learnerId); - - GetPeersResponse build(); - } - } - - public interface AddLearnersRequest { - List<PeerId> getLearnersList(); - - public interface Builder { - Builder setGroupId(String groupId); - - Builder addLearners(PeerId learnerId); - - AddLearnersRequest build(); - } - } - - public interface RemoveLearnersRequest { - List<PeerId> getLearnersList(); - - public interface Builder { - Builder setGroupId(String groupId); - - Builder addLearners(PeerId leaderId); - - RemoveLearnersRequest build(); - } - } - - public interface ResetLearnersRequest { - List<PeerId> getLearnersList(); - - public interface Builder { - Builder setGroupId(String groupId); - - Builder addLearners(PeerId learnerId); - - ResetLearnersRequest build(); - } - } - - public interface LearnersOpResponse { - List<PeerId> getOldLearnersList(); - - List<PeerId> getNewLearnersList(); - - public interface Builder { - Builder addOldLearners(PeerId oldLearnersId); - - Builder addNewLearners(PeerId newLearnersId); - - LearnersOpResponse build(); - } - } - - public interface UserRequest { - Object request(); - - String getGroupId(); - - public interface Builder { - Builder setRequest(Object request); - - Builder setGroupId(String groupId); - - UserRequest build(); - } - } - - public interface UserResponse<T> { - T response(); - - public interface Builder<T> { - Builder setResponse(T response); - - UserResponse<T> build(); - } - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemoveLearnersRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemoveLearnersRequest.java new file mode 100644 index 0000000..ec99855 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemoveLearnersRequest.java @@ -0,0 +1,16 @@ +package org.apache.ignite.raft.client.message; + +import java.util.List; +import org.apache.ignite.raft.client.PeerId; + +public interface RemoveLearnersRequest { + List<PeerId> getLearnersList(); + + public interface Builder { + Builder setGroupId(String groupId); + + Builder addLearners(PeerId leaderId); + + RemoveLearnersRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerRequest.java new file mode 100644 index 0000000..b450464 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerRequest.java @@ -0,0 +1,15 @@ +package org.apache.ignite.raft.client.message; + +import org.apache.ignite.raft.client.PeerId; + +public interface RemovePeerRequest { + PeerId getPeerId(); + + interface Builder { + Builder setGroupId(String groupId); + + Builder setPeerId(PeerId peerId); + + RemovePeerRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerResponse.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerResponse.java new file mode 100644 index 0000000..5751b57 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerResponse.java @@ -0,0 +1,18 @@ +package org.apache.ignite.raft.client.message; + +import java.util.List; +import org.apache.ignite.raft.client.PeerId; + +public interface RemovePeerResponse { + List<PeerId> getOldPeersList(); + + List<PeerId> getNewPeersList(); + + public interface Builder { + Builder addOldPeers(PeerId oldPeerId); + + Builder addNewPeers(PeerId newPeerId); + + RemovePeerResponse build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetLearnersRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetLearnersRequest.java new file mode 100644 index 0000000..56a117a --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetLearnersRequest.java @@ -0,0 +1,16 @@ +package org.apache.ignite.raft.client.message; + +import java.util.List; +import org.apache.ignite.raft.client.PeerId; + +public interface ResetLearnersRequest { + List<PeerId> getLearnersList(); + + public interface Builder { + Builder setGroupId(String groupId); + + Builder addLearners(PeerId learnerId); + + ResetLearnersRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetPeerRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetPeerRequest.java new file mode 100644 index 0000000..9f30def --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetPeerRequest.java @@ -0,0 +1,16 @@ +package org.apache.ignite.raft.client.message; + +import java.util.List; +import org.apache.ignite.raft.client.PeerId; + +public interface ResetPeerRequest { + List<PeerId> getNewPeersList(); + + public interface Builder { + Builder setGroupId(String groupId); + + Builder addNewPeers(PeerId peerId); + + ResetPeerRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/SnapshotRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/SnapshotRequest.java new file mode 100644 index 0000000..9aefb5f --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/SnapshotRequest.java @@ -0,0 +1,11 @@ +package org.apache.ignite.raft.client.message; + +public interface SnapshotRequest { + String getGroupId(); + + public interface Builder { + Builder setGroupId(String groupId); + + SnapshotRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/TransferLeaderRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/TransferLeaderRequest.java new file mode 100644 index 0000000..46e17eb --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/TransferLeaderRequest.java @@ -0,0 +1,15 @@ +package org.apache.ignite.raft.client.message; + +import org.apache.ignite.raft.client.PeerId; + +public interface TransferLeaderRequest { + String getGroupId(); + + PeerId getPeerId(); + + public interface Builder { + Builder setGroupId(String groupId); + + TransferLeaderRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserRequest.java new file mode 100644 index 0000000..c560abf --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserRequest.java @@ -0,0 +1,17 @@ +package org.apache.ignite.raft.client.message; + +import org.apache.ignite.raft.client.Command; + +public interface UserRequest { + Command request(); + + String getGroupId(); + + public interface Builder { + Builder setRequest(Command request); + + Builder setGroupId(String groupId); + + UserRequest build(); + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserResponse.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserResponse.java new file mode 100644 index 0000000..18e9f95 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserResponse.java @@ -0,0 +1,11 @@ +package org.apache.ignite.raft.client.message; + +public interface UserResponse<T> { + T response(); + + public interface Builder<T> { + Builder setResponse(T response); + + UserResponse<T> build(); + } +} 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 bab852c..fbaddaa 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 @@ -20,9 +20,9 @@ package org.apache.ignite.raft.client.message.impl; import java.util.ArrayList; import java.util.List; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.AddLearnersRequest; -public class AddLearnersRequestImpl implements RaftClientMessages.AddLearnersRequest, RaftClientMessages.AddLearnersRequest.Builder { +public class AddLearnersRequestImpl implements AddLearnersRequest, AddLearnersRequest.Builder { private String groupId; private List<PeerId> learnersList = new ArrayList<>(); @@ -47,7 +47,7 @@ public class AddLearnersRequestImpl implements RaftClientMessages.AddLearnersReq return this; } - @Override public RaftClientMessages.AddLearnersRequest build() { + @Override public 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 index 34cbc0c..7b581a8 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 @@ -18,9 +18,9 @@ package org.apache.ignite.raft.client.message.impl; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.AddPeerRequest; -class AddPeerRequestImpl implements RaftClientMessages.AddPeerRequest, RaftClientMessages.AddPeerRequest.Builder { +class AddPeerRequestImpl implements AddPeerRequest, AddPeerRequest.Builder { private String groupId; private PeerId peerId; @@ -45,7 +45,7 @@ class AddPeerRequestImpl implements RaftClientMessages.AddPeerRequest, RaftClien return this; } - @Override public RaftClientMessages.AddPeerRequest build() { + @Override public 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 index 7394434..653285f 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 @@ -20,9 +20,9 @@ package org.apache.ignite.raft.client.message.impl; import java.util.ArrayList; import java.util.List; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.AddPeerResponse; -class AddPeerResponseImpl implements RaftClientMessages.AddPeerResponse, RaftClientMessages.AddPeerResponse.Builder { +class AddPeerResponseImpl implements AddPeerResponse, AddPeerResponse.Builder { private List<PeerId> oldPeersList = new ArrayList<>(); private List<PeerId> newPeersList = new ArrayList<>(); @@ -47,7 +47,7 @@ class AddPeerResponseImpl implements RaftClientMessages.AddPeerResponse, RaftCli return this; } - @Override public RaftClientMessages.AddPeerResponse build() { + @Override public 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 index 3b00d81..cac06be 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 @@ -20,9 +20,9 @@ package org.apache.ignite.raft.client.message.impl; import java.util.ArrayList; import java.util.List; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.ChangePeersRequest; -class ChangePeerRequestImpl implements RaftClientMessages.ChangePeersRequest, RaftClientMessages.ChangePeersRequest.Builder { +class ChangePeerRequestImpl implements ChangePeersRequest, ChangePeersRequest.Builder { private String groupId; private List<PeerId> newPeersList = new ArrayList<>(); @@ -47,7 +47,7 @@ class ChangePeerRequestImpl implements RaftClientMessages.ChangePeersRequest, Ra return this; } - @Override public RaftClientMessages.ChangePeersRequest build() { + @Override public 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 index 9595593..55395c6 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 @@ -20,9 +20,9 @@ package org.apache.ignite.raft.client.message.impl; import java.util.ArrayList; import java.util.List; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.ChangePeersResponse; -class ChangePeersResponseImpl implements RaftClientMessages.ChangePeersResponse, RaftClientMessages.ChangePeersResponse.Builder { +class ChangePeersResponseImpl implements ChangePeersResponse, ChangePeersResponse.Builder { private List<PeerId> oldPeersList = new ArrayList<>(); private List<PeerId> newPeersList = new ArrayList<>(); @@ -47,7 +47,7 @@ class ChangePeersResponseImpl implements RaftClientMessages.ChangePeersResponse, return this; } - @Override public RaftClientMessages.ChangePeersResponse build() { + @Override public ChangePeersResponse build() { return this; } } diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java index 6a2ae69..8266b1e 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java @@ -17,9 +17,9 @@ package org.apache.ignite.raft.client.message.impl; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.GetLeaderRequest; -public class GetLeaderRequestImpl implements RaftClientMessages.GetLeaderRequest, RaftClientMessages.GetLeaderRequest.Builder { +public class GetLeaderRequestImpl implements GetLeaderRequest, GetLeaderRequest.Builder { private String groupId; @Override public String getGroupId() { @@ -32,7 +32,7 @@ public class GetLeaderRequestImpl implements RaftClientMessages.GetLeaderRequest return this; } - @Override public RaftClientMessages.GetLeaderRequest build() { + @Override public GetLeaderRequest build() { return this; } } 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 0bce43c..d98ecbf 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 @@ -18,16 +18,16 @@ package org.apache.ignite.raft.client.message.impl; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.GetLeaderResponse; -public class GetLeaderResponseImpl implements RaftClientMessages.GetLeaderResponse, RaftClientMessages.GetLeaderResponse.Builder { +public class GetLeaderResponseImpl implements GetLeaderResponse, GetLeaderResponse.Builder { private PeerId leaderId; @Override public PeerId getLeaderId() { return leaderId; } - @Override public RaftClientMessages.GetLeaderResponse build() { + @Override public GetLeaderResponse build() { 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 index 0d6842a..b81a861 100644 --- 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 @@ -17,9 +17,9 @@ package org.apache.ignite.raft.client.message.impl; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.GetPeersRequest; -class GetPeersRequestImpl implements RaftClientMessages.GetPeersRequest, RaftClientMessages.GetPeersRequest.Builder { +class GetPeersRequestImpl implements GetPeersRequest, GetPeersRequest.Builder { private String groupId; private boolean onlyAlive; @@ -44,7 +44,7 @@ class GetPeersRequestImpl implements RaftClientMessages.GetPeersRequest, RaftCli return this; } - @Override public RaftClientMessages.GetPeersRequest build() { + @Override public 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 index 53f16af..dc05f04 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 @@ -20,9 +20,9 @@ package org.apache.ignite.raft.client.message.impl; import java.util.ArrayList; import java.util.List; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.GetPeersResponse; -class GetPeersResponseImpl implements RaftClientMessages.GetPeersResponse, RaftClientMessages.GetPeersResponse.Builder { +class GetPeersResponseImpl implements GetPeersResponse, GetPeersResponse.Builder { private List<PeerId> peersList = new ArrayList<>(); private List<PeerId> learnersList = new ArrayList<>(); @@ -47,7 +47,7 @@ class GetPeersResponseImpl implements RaftClientMessages.GetPeersResponse, RaftC return this; } - @Override public RaftClientMessages.GetPeersResponse build() { + @Override public 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 index 85530e3..2af1c9c 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 @@ -20,9 +20,9 @@ package org.apache.ignite.raft.client.message.impl; import java.util.ArrayList; import java.util.List; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.LearnersOpResponse; -class LearnersOpResponseImpl implements RaftClientMessages.LearnersOpResponse, RaftClientMessages.LearnersOpResponse.Builder { +class LearnersOpResponseImpl implements LearnersOpResponse, LearnersOpResponse.Builder { private List<PeerId> oldLearnersList = new ArrayList<>(); private List<PeerId> newLearnersList = new ArrayList<>(); @@ -47,7 +47,7 @@ class LearnersOpResponseImpl implements RaftClientMessages.LearnersOpResponse, R return this; } - @Override public RaftClientMessages.LearnersOpResponse build() { + @Override public LearnersOpResponse build() { return this; } } diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactory.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactory.java index 22dd9ce..7dd3a74 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactory.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactory.java @@ -17,45 +17,63 @@ package org.apache.ignite.raft.client.message.impl; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.AddLearnersRequest; +import org.apache.ignite.raft.client.message.AddPeerRequest; +import org.apache.ignite.raft.client.message.AddPeerResponse; +import org.apache.ignite.raft.client.message.ChangePeersRequest; +import org.apache.ignite.raft.client.message.ChangePeersResponse; +import org.apache.ignite.raft.client.message.GetLeaderRequest; +import org.apache.ignite.raft.client.message.GetLeaderResponse; +import org.apache.ignite.raft.client.message.GetPeersRequest; +import org.apache.ignite.raft.client.message.GetPeersResponse; +import org.apache.ignite.raft.client.message.LearnersOpResponse; +import org.apache.ignite.raft.client.message.RemoveLearnersRequest; +import org.apache.ignite.raft.client.message.RemovePeerRequest; +import org.apache.ignite.raft.client.message.RemovePeerResponse; +import org.apache.ignite.raft.client.message.ResetLearnersRequest; +import org.apache.ignite.raft.client.message.ResetPeerRequest; +import org.apache.ignite.raft.client.message.SnapshotRequest; +import org.apache.ignite.raft.client.message.TransferLeaderRequest; +import org.apache.ignite.raft.client.message.UserRequest; +import org.apache.ignite.raft.client.message.UserResponse; /** */ public interface RaftClientMessageFactory { - RaftClientMessages.AddPeerRequest.Builder createAddPeerRequest(); + AddPeerRequest.Builder createAddPeerRequest(); - RaftClientMessages.AddPeerResponse.Builder createAddPeerResponse(); + AddPeerResponse.Builder createAddPeerResponse(); - RaftClientMessages.RemovePeerRequest.Builder createRemovePeerRequest(); + RemovePeerRequest.Builder createRemovePeerRequest(); - RaftClientMessages.RemovePeerResponse.Builder createRemovePeerResponse(); + RemovePeerResponse.Builder createRemovePeerResponse(); - RaftClientMessages.ChangePeersRequest.Builder createChangePeerRequest(); + ChangePeersRequest.Builder createChangePeerRequest(); - RaftClientMessages.ChangePeersResponse.Builder createChangePeerResponse(); + ChangePeersResponse.Builder createChangePeerResponse(); - RaftClientMessages.SnapshotRequest.Builder createSnapshotRequest(); + SnapshotRequest.Builder createSnapshotRequest(); - RaftClientMessages.ResetPeerRequest.Builder createResetPeerRequest(); + ResetPeerRequest.Builder createResetPeerRequest(); - RaftClientMessages.TransferLeaderRequest.Builder createTransferLeaderRequest(); + TransferLeaderRequest.Builder createTransferLeaderRequest(); - RaftClientMessages.GetLeaderRequest.Builder createGetLeaderRequest(); + GetLeaderRequest.Builder createGetLeaderRequest(); - RaftClientMessages.GetLeaderResponse.Builder createGetLeaderResponse(); + GetLeaderResponse.Builder createGetLeaderResponse(); - RaftClientMessages.GetPeersRequest.Builder createGetPeersRequest(); + GetPeersRequest.Builder createGetPeersRequest(); - RaftClientMessages.GetPeersResponse.Builder createGetPeersResponse(); + GetPeersResponse.Builder createGetPeersResponse(); - RaftClientMessages.AddLearnersRequest.Builder createAddLearnersRequest(); + AddLearnersRequest.Builder createAddLearnersRequest(); - RaftClientMessages.RemoveLearnersRequest.Builder createRemoveLearnersRequest(); + RemoveLearnersRequest.Builder createRemoveLearnersRequest(); - RaftClientMessages.ResetLearnersRequest.Builder createResetLearnersRequest(); + ResetLearnersRequest.Builder createResetLearnersRequest(); - RaftClientMessages.LearnersOpResponse.Builder createLearnersOpResponse(); + LearnersOpResponse.Builder createLearnersOpResponse(); - RaftClientMessages.UserRequest.Builder createUserRequest(); + UserRequest.Builder createUserRequest(); - RaftClientMessages.UserResponse.Builder createUserResponse(); + UserResponse.Builder createUserResponse(); } diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactoryImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactoryImpl.java index 77b825b..85c60d1 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactoryImpl.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactoryImpl.java @@ -17,7 +17,25 @@ package org.apache.ignite.raft.client.message.impl; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.AddLearnersRequest; +import org.apache.ignite.raft.client.message.AddPeerRequest; +import org.apache.ignite.raft.client.message.AddPeerResponse; +import org.apache.ignite.raft.client.message.ChangePeersRequest; +import org.apache.ignite.raft.client.message.ChangePeersResponse; +import org.apache.ignite.raft.client.message.GetLeaderRequest; +import org.apache.ignite.raft.client.message.GetLeaderResponse; +import org.apache.ignite.raft.client.message.GetPeersRequest; +import org.apache.ignite.raft.client.message.GetPeersResponse; +import org.apache.ignite.raft.client.message.LearnersOpResponse; +import org.apache.ignite.raft.client.message.RemoveLearnersRequest; +import org.apache.ignite.raft.client.message.RemovePeerRequest; +import org.apache.ignite.raft.client.message.RemovePeerResponse; +import org.apache.ignite.raft.client.message.ResetLearnersRequest; +import org.apache.ignite.raft.client.message.ResetPeerRequest; +import org.apache.ignite.raft.client.message.SnapshotRequest; +import org.apache.ignite.raft.client.message.TransferLeaderRequest; +import org.apache.ignite.raft.client.message.UserRequest; +import org.apache.ignite.raft.client.message.UserResponse; /** * Raft client message factory. @@ -26,79 +44,79 @@ public class RaftClientMessageFactoryImpl implements RaftClientMessageFactory { /** */ public static RaftClientMessageFactoryImpl MESSAGE_FACTORY = new RaftClientMessageFactoryImpl(); - @Override public RaftClientMessages.AddPeerRequest.Builder createAddPeerRequest() { + @Override public AddPeerRequest.Builder createAddPeerRequest() { return new AddPeerRequestImpl(); } - @Override public RaftClientMessages.AddPeerResponse.Builder createAddPeerResponse() { + @Override public AddPeerResponse.Builder createAddPeerResponse() { return new AddPeerResponseImpl(); } - @Override public RaftClientMessages.RemovePeerRequest.Builder createRemovePeerRequest() { + @Override public RemovePeerRequest.Builder createRemovePeerRequest() { return new RemovePeerRequestImpl(); } - @Override public RaftClientMessages.RemovePeerResponse.Builder createRemovePeerResponse() { + @Override public RemovePeerResponse.Builder createRemovePeerResponse() { return new RemovePeerResponseImpl(); } - @Override public RaftClientMessages.ChangePeersRequest.Builder createChangePeerRequest() { + @Override public ChangePeersRequest.Builder createChangePeerRequest() { return new ChangePeerRequestImpl(); } - @Override public RaftClientMessages.ChangePeersResponse.Builder createChangePeerResponse() { + @Override public ChangePeersResponse.Builder createChangePeerResponse() { return new ChangePeersResponseImpl(); } - @Override public RaftClientMessages.SnapshotRequest.Builder createSnapshotRequest() { + @Override public SnapshotRequest.Builder createSnapshotRequest() { return new SnapshotRequestImpl(); } - @Override public RaftClientMessages.ResetPeerRequest.Builder createResetPeerRequest() { + @Override public ResetPeerRequest.Builder createResetPeerRequest() { return new ResetPeerRequestImpl(); } - @Override public RaftClientMessages.TransferLeaderRequest.Builder createTransferLeaderRequest() { + @Override public TransferLeaderRequest.Builder createTransferLeaderRequest() { return new TransferLeaderRequestImpl(); } - @Override public RaftClientMessages.GetLeaderRequest.Builder createGetLeaderRequest() { + @Override public GetLeaderRequest.Builder createGetLeaderRequest() { return new GetLeaderRequestImpl(); } - @Override public RaftClientMessages.GetLeaderResponse.Builder createGetLeaderResponse() { + @Override public GetLeaderResponse.Builder createGetLeaderResponse() { return new GetLeaderResponseImpl(); } - @Override public RaftClientMessages.GetPeersRequest.Builder createGetPeersRequest() { + @Override public GetPeersRequest.Builder createGetPeersRequest() { return new GetPeersRequestImpl(); } - @Override public RaftClientMessages.GetPeersResponse.Builder createGetPeersResponse() { + @Override public GetPeersResponse.Builder createGetPeersResponse() { return new GetPeersResponseImpl(); } - @Override public RaftClientMessages.AddLearnersRequest.Builder createAddLearnersRequest() { + @Override public AddLearnersRequest.Builder createAddLearnersRequest() { return new AddLearnersRequestImpl(); } - @Override public RaftClientMessages.RemoveLearnersRequest.Builder createRemoveLearnersRequest() { + @Override public RemoveLearnersRequest.Builder createRemoveLearnersRequest() { return new RemoveLearnersRequestImpl(); } - @Override public RaftClientMessages.ResetLearnersRequest.Builder createResetLearnersRequest() { + @Override public ResetLearnersRequest.Builder createResetLearnersRequest() { return new ResetLearnersRequestImpl(); } - @Override public RaftClientMessages.LearnersOpResponse.Builder createLearnersOpResponse() { + @Override public LearnersOpResponse.Builder createLearnersOpResponse() { return new LearnersOpResponseImpl(); } - @Override public RaftClientMessages.UserRequest.Builder createUserRequest() { + @Override public UserRequest.Builder createUserRequest() { return new UserRequestImpl(); } - @Override public RaftClientMessages.UserResponse.Builder createUserResponse() { + @Override public UserResponse.Builder createUserResponse() { return new UserResponseImpl(); } } 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 fdb7f61..bd47d80 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 @@ -20,9 +20,9 @@ package org.apache.ignite.raft.client.message.impl; import java.util.ArrayList; import java.util.List; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.RemoveLearnersRequest; -class RemoveLearnersRequestImpl implements RaftClientMessages.RemoveLearnersRequest, RaftClientMessages.RemoveLearnersRequest.Builder { +class RemoveLearnersRequestImpl implements RemoveLearnersRequest, RemoveLearnersRequest.Builder { private String groupId; private List<PeerId> learnersList = new ArrayList<>(); @@ -47,7 +47,7 @@ class RemoveLearnersRequestImpl implements RaftClientMessages.RemoveLearnersRequ return this; } - @Override public RaftClientMessages.RemoveLearnersRequest build() { + @Override public 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 index 335aa4b..bf4162f 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 @@ -18,9 +18,9 @@ package org.apache.ignite.raft.client.message.impl; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.RemovePeerRequest; -class RemovePeerRequestImpl implements RaftClientMessages.RemovePeerRequest, RaftClientMessages.RemovePeerRequest.Builder { +class RemovePeerRequestImpl implements RemovePeerRequest, RemovePeerRequest.Builder { private String groupId; private PeerId peerId; @@ -45,7 +45,7 @@ class RemovePeerRequestImpl implements RaftClientMessages.RemovePeerRequest, Raf return this; } - @Override public RaftClientMessages.RemovePeerRequest build() { + @Override public 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 index 6f91817..9d05572 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 @@ -20,9 +20,9 @@ package org.apache.ignite.raft.client.message.impl; import java.util.ArrayList; import java.util.List; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.RemovePeerResponse; -class RemovePeerResponseImpl implements RaftClientMessages.RemovePeerResponse, RaftClientMessages.RemovePeerResponse.Builder { +class RemovePeerResponseImpl implements RemovePeerResponse, RemovePeerResponse.Builder { private List<PeerId> oldPeersList = new ArrayList<>(); private List<PeerId> newPeersList = new ArrayList<>(); @@ -47,7 +47,7 @@ class RemovePeerResponseImpl implements RaftClientMessages.RemovePeerResponse, R return this; } - @Override public RaftClientMessages.RemovePeerResponse build() { + @Override public 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 index 657f515..fe8b7b2 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 @@ -20,9 +20,9 @@ package org.apache.ignite.raft.client.message.impl; import java.util.ArrayList; import java.util.List; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.ResetLearnersRequest; -class ResetLearnersRequestImpl implements RaftClientMessages.ResetLearnersRequest, RaftClientMessages.ResetLearnersRequest.Builder { +class ResetLearnersRequestImpl implements ResetLearnersRequest, ResetLearnersRequest.Builder { private String groupId; private List<PeerId> learnersList = new ArrayList<>(); @@ -47,7 +47,7 @@ class ResetLearnersRequestImpl implements RaftClientMessages.ResetLearnersReques return this; } - @Override public RaftClientMessages.ResetLearnersRequest build() { + @Override public 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 index 1a5a030..1de8883 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 @@ -20,9 +20,9 @@ package org.apache.ignite.raft.client.message.impl; import java.util.ArrayList; import java.util.List; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.ResetPeerRequest; -class ResetPeerRequestImpl implements RaftClientMessages.ResetPeerRequest, RaftClientMessages.ResetPeerRequest.Builder { +class ResetPeerRequestImpl implements ResetPeerRequest, ResetPeerRequest.Builder { private String groupId; private List<PeerId> newPeersList = new ArrayList<>(); @@ -47,7 +47,7 @@ class ResetPeerRequestImpl implements RaftClientMessages.ResetPeerRequest, RaftC return this; } - @Override public RaftClientMessages.ResetPeerRequest build() { + @Override public ResetPeerRequest build() { return this; } } diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java index 69b3ac8..2ab6122 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java @@ -17,9 +17,9 @@ package org.apache.ignite.raft.client.message.impl; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.SnapshotRequest; -class SnapshotRequestImpl implements RaftClientMessages.SnapshotRequest, RaftClientMessages.SnapshotRequest.Builder { +class SnapshotRequestImpl implements SnapshotRequest, SnapshotRequest.Builder { private String groupId; @Override public String getGroupId() { @@ -32,7 +32,7 @@ class SnapshotRequestImpl implements RaftClientMessages.SnapshotRequest, RaftCli return this; } - @Override public RaftClientMessages.SnapshotRequest build() { + @Override public 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 index 3274e5a..950b601 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 @@ -18,9 +18,9 @@ package org.apache.ignite.raft.client.message.impl; import org.apache.ignite.raft.client.PeerId; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.TransferLeaderRequest; -class TransferLeaderRequestImpl implements RaftClientMessages.TransferLeaderRequest, RaftClientMessages.TransferLeaderRequest.Builder { +class TransferLeaderRequestImpl implements TransferLeaderRequest, TransferLeaderRequest.Builder { private String groupId; private PeerId peerId; @@ -39,7 +39,7 @@ class TransferLeaderRequestImpl implements RaftClientMessages.TransferLeaderRequ return this; } - @Override public RaftClientMessages.TransferLeaderRequest build() { + @Override public 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 index e933c24..3fc2ffd 100644 --- 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 @@ -17,9 +17,9 @@ package org.apache.ignite.raft.client.message.impl; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.UserRequest; -public class UserRequestImpl<T> implements RaftClientMessages.UserRequest, RaftClientMessages.UserRequest.Builder { +public class UserRequestImpl<T> implements UserRequest, UserRequest.Builder { private Object request; private String groupId; @@ -44,7 +44,7 @@ public class UserRequestImpl<T> implements RaftClientMessages.UserRequest, RaftC return this; } - @Override public RaftClientMessages.UserRequest build() { + @Override public UserRequest build() { return this; } } diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java index 8c1a530..6fa718c 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java @@ -17,9 +17,9 @@ package org.apache.ignite.raft.client.message.impl; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.UserResponse; -public class UserResponseImpl<T> implements RaftClientMessages.UserResponse<T>, RaftClientMessages.UserResponse.Builder<T> { +public class UserResponseImpl<T> implements UserResponse<T>, UserResponse.Builder<T> { private T response; @Override public T response() { @@ -32,7 +32,7 @@ public class UserResponseImpl<T> implements RaftClientMessages.UserResponse<T>, return this; } - @Override public RaftClientMessages.UserResponse build() { + @Override public 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 c8a1d1c..b5fc1bb 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 @@ -23,21 +23,26 @@ 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; -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; -import static org.apache.ignite.raft.client.message.RaftClientMessages.UserRequest; -import static org.apache.ignite.raft.client.message.RaftClientMessages.UserResponse; +import org.apache.ignite.raft.client.message.AddLearnersRequest; + +import org.apache.ignite.raft.client.message.AddPeerRequest; +import org.apache.ignite.raft.client.message.AddPeerResponse; +import org.apache.ignite.raft.client.message.ChangePeersRequest; +import org.apache.ignite.raft.client.message.ChangePeersResponse; +import org.apache.ignite.raft.client.message.LearnersOpResponse; + +import org.apache.ignite.raft.client.message.RemoveLearnersRequest; + +import org.apache.ignite.raft.client.message.RemovePeerRequest; +import org.apache.ignite.raft.client.message.RemovePeerResponse; +import org.apache.ignite.raft.client.message.ResetLearnersRequest; + +import org.apache.ignite.raft.client.message.ResetPeerRequest; + +import org.apache.ignite.raft.client.message.SnapshotRequest; +import org.apache.ignite.raft.client.message.TransferLeaderRequest; +import org.apache.ignite.raft.client.message.UserRequest; +import org.apache.ignite.raft.client.message.UserResponse; /** * Replication 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 c70da48..9ae41d6 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 @@ -27,8 +27,23 @@ import org.apache.ignite.network.NetworkCluster; import org.apache.ignite.network.NetworkMember; 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.AddLearnersRequest; +import org.apache.ignite.raft.client.message.AddPeerRequest; +import org.apache.ignite.raft.client.message.AddPeerResponse; +import org.apache.ignite.raft.client.message.ChangePeersRequest; +import org.apache.ignite.raft.client.message.ChangePeersResponse; +import org.apache.ignite.raft.client.message.GetLeaderRequest; +import org.apache.ignite.raft.client.message.LearnersOpResponse; +import org.apache.ignite.raft.client.message.GetLeaderResponse; +import org.apache.ignite.raft.client.message.RemoveLearnersRequest; +import org.apache.ignite.raft.client.message.RemovePeerRequest; +import org.apache.ignite.raft.client.message.RemovePeerResponse; +import org.apache.ignite.raft.client.message.ResetLearnersRequest; +import org.apache.ignite.raft.client.message.ResetPeerRequest; +import org.apache.ignite.raft.client.message.SnapshotRequest; +import org.apache.ignite.raft.client.message.TransferLeaderRequest; +import org.apache.ignite.raft.client.message.UserRequest; +import org.apache.ignite.raft.client.message.UserResponse; import org.apache.ignite.raft.client.message.impl.RaftClientMessageFactory; import org.apache.ignite.raft.client.rpc.RaftGroupRpcClient; import org.jetbrains.annotations.Nullable; @@ -78,7 +93,7 @@ public class RaftGroupRpcClientImpl implements RaftGroupRpcClient { @Override public CompletableFuture<PeerId> refreshLeader(String groupId) { StateImpl state = getState(groupId); - RaftClientMessages.GetLeaderRequest req = factory.createGetLeaderRequest().setGroupId(groupId).build(); + GetLeaderRequest req = factory.createGetLeaderRequest().setGroupId(groupId).build(); CompletableFuture<GetLeaderResponse> fut = cluster.sendWithResponse(initialCfgNodes.iterator().next(), req, defaultTimeout); @@ -89,43 +104,43 @@ public class RaftGroupRpcClientImpl implements RaftGroupRpcClient { return null; } - @Override public CompletableFuture<RaftClientMessages.AddPeerResponse> addPeer(RaftClientMessages.AddPeerRequest request) { + @Override public CompletableFuture<AddPeerResponse> addPeer(AddPeerRequest request) { return null; } - @Override public CompletableFuture<RaftClientMessages.RemovePeerResponse> removePeer(RaftClientMessages.RemovePeerRequest request) { + @Override public CompletableFuture<RemovePeerResponse> removePeer(RemovePeerRequest request) { return null; } - @Override public CompletableFuture<Void> resetPeers(PeerId peerId, RaftClientMessages.ResetPeerRequest request) { + @Override public CompletableFuture<Void> resetPeers(PeerId peerId, ResetPeerRequest request) { return null; } - @Override public CompletableFuture<Void> snapshot(PeerId peerId, RaftClientMessages.SnapshotRequest request) { + @Override public CompletableFuture<Void> snapshot(PeerId peerId, SnapshotRequest request) { return null; } - @Override public CompletableFuture<RaftClientMessages.ChangePeersResponse> changePeers(RaftClientMessages.ChangePeersRequest request) { + @Override public CompletableFuture<ChangePeersResponse> changePeers(ChangePeersRequest request) { return null; } - @Override public CompletableFuture<RaftClientMessages.LearnersOpResponse> addLearners(RaftClientMessages.AddLearnersRequest request) { + @Override public CompletableFuture<LearnersOpResponse> addLearners(AddLearnersRequest request) { return null; } - @Override public CompletableFuture<RaftClientMessages.LearnersOpResponse> removeLearners(RaftClientMessages.RemoveLearnersRequest request) { + @Override public CompletableFuture<LearnersOpResponse> removeLearners(RemoveLearnersRequest request) { return null; } - @Override public CompletableFuture<RaftClientMessages.LearnersOpResponse> resetLearners(RaftClientMessages.ResetLearnersRequest request) { + @Override public CompletableFuture<LearnersOpResponse> resetLearners(ResetLearnersRequest request) { return null; } - @Override public CompletableFuture<Void> transferLeader(RaftClientMessages.TransferLeaderRequest request) { + @Override public CompletableFuture<Void> transferLeader(TransferLeaderRequest request) { return null; } - @Override public CompletableFuture<RaftClientMessages.UserResponse> submit(RaftClientMessages.UserRequest request) { + @Override public CompletableFuture<UserResponse> submit(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 b185ac3..34c617b 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 @@ -18,12 +18,14 @@ package org.apache.ignite.raft.client.service; import java.util.Iterator; +import org.apache.ignite.raft.client.ReadCommand; +import org.apache.ignite.raft.client.WriteCommand; /** * A listener for replication group client requests. */ public interface RaftGroupClientRequestListener { - void onReads(Iterator iterator); + void onRead(Iterator<ReadCommand> iterator); - void onWrites(Iterator iterator); + void onWrite(Iterator<WriteCommand> 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 fcff2ed..d5dee37 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 @@ -18,16 +18,17 @@ package org.apache.ignite.raft.client.service; import java.util.concurrent.CompletableFuture; +import org.apache.ignite.raft.client.Command; /** * Replication group client service. */ public interface RaftGroupClientRequestService { /** - * Submits a custom request to a replication group leader. If a leader is not initialized yet will try to resolve it. - * @param request User request. + * Submits a command to a replication group leader. If a leader is not initialized yet will try to resolve it. + * @param cmd Command. * @param <R> Response type. * @return A future with the result. */ - <R> CompletableFuture<R> submit(Object request); + <R> CompletableFuture<R> submit(Command cmd); } 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 ea59d8d..cc5e781 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 @@ -18,7 +18,11 @@ package org.apache.ignite.raft.client.service.impl; import java.util.concurrent.CompletableFuture; -import org.apache.ignite.raft.client.message.RaftClientMessages; +import java.util.concurrent.ExecutionException; +import org.apache.ignite.raft.client.Command; +import org.apache.ignite.raft.client.PeerId; +import org.apache.ignite.raft.client.message.UserRequest; +import org.apache.ignite.raft.client.message.UserResponse; import org.apache.ignite.raft.client.rpc.RaftGroupRpcClient; import org.apache.ignite.raft.client.service.RaftGroupClientRequestService; @@ -39,14 +43,20 @@ public class RaftGroupClientRequestServiceImpl implements RaftGroupClientRequest public RaftGroupClientRequestServiceImpl(RaftGroupRpcClient rpcClient, String groupId) { this.rpcClient = rpcClient; this.groupId = groupId; + + try { + PeerId peerId = rpcClient.refreshLeader(groupId).get(); + } + catch (Exception e) { + // TODO log error. + } } /** {@inheritDoc} */ - @Override public <R> CompletableFuture<R> submit(Object request) { - RaftClientMessages.UserRequest r = - rpcClient.factory().createUserRequest().setRequest(request).setGroupId(groupId).build(); + @Override public <R> CompletableFuture<R> submit(Command cmd) { + UserRequest r = rpcClient.factory().createUserRequest().setRequest(cmd).setGroupId(groupId).build(); - CompletableFuture<RaftClientMessages.UserResponse<R>> fut = rpcClient.submit(r); + CompletableFuture<UserResponse<R>> fut = rpcClient.submit(r); return fut.thenApply(resp -> resp.response()); } 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 7580975..a868636 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 @@ -17,11 +17,13 @@ package org.apache.ignite.raft.client; -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.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.GetLeaderRequest; +import org.apache.ignite.raft.client.message.GetLeaderResponse; +import org.apache.ignite.raft.client.message.UserRequest; +import org.apache.ignite.raft.client.message.UserResponse; import org.mockito.ArgumentMatcher; import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; @@ -38,13 +40,13 @@ import static org.mockito.ArgumentMatchers.eq; public class MockUtils { public static PeerId LEADER = new PeerId(new NetworkMember("test")); - public static class TestInput1 { + public static class TestInput1 implements WriteCommand { } public static class TestOutput1 { } - public static class TestInput2 { + public static class TestInput2 implements ReadCommand { } public static class TestOutput2 { @@ -53,12 +55,12 @@ public class MockUtils { public static void mockUserInput1(NetworkCluster cluster) { Mockito.doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { - RaftClientMessages.UserResponse resp = MESSAGE_FACTORY.createUserResponse().setResponse(new TestOutput1()).build(); + UserResponse resp = MESSAGE_FACTORY.createUserResponse().setResponse(new TestOutput1()).build(); return completedFuture(resp); } - }).when(cluster).sendWithResponse(eq(LEADER.getNode()), argThat(new ArgumentMatcher<RaftClientMessages.UserRequest>() { - @Override public boolean matches(RaftClientMessages.UserRequest arg) { + }).when(cluster).sendWithResponse(eq(LEADER.getNode()), argThat(new ArgumentMatcher<UserRequest>() { + @Override public boolean matches(UserRequest arg) { return arg.request() instanceof TestInput1; } }), anyLong()); @@ -67,12 +69,12 @@ public class MockUtils { public static void mockUserInput2(NetworkCluster cluster) { Mockito.doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { - RaftClientMessages.UserResponse resp = MESSAGE_FACTORY.createUserResponse().setResponse(new TestOutput2()).build(); + UserResponse resp = MESSAGE_FACTORY.createUserResponse().setResponse(new TestOutput2()).build(); return completedFuture(resp); } - }).when(cluster).sendWithResponse(eq(LEADER.getNode()), argThat(new ArgumentMatcher<RaftClientMessages.UserRequest>() { - @Override public boolean matches(RaftClientMessages.UserRequest arg) { + }).when(cluster).sendWithResponse(eq(LEADER.getNode()), argThat(new ArgumentMatcher<UserRequest>() { + @Override public boolean matches(UserRequest arg) { return arg.request() instanceof TestInput2; } }), anyLong()); @@ -81,10 +83,10 @@ public class MockUtils { public static void mockLeaderRequest(NetworkCluster cluster, boolean timeout) { Mockito.doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { - RaftClientMessages.GetLeaderResponse resp = MESSAGE_FACTORY.createGetLeaderResponse().setLeaderId(LEADER).build(); + GetLeaderResponse resp = MESSAGE_FACTORY.createGetLeaderResponse().setLeaderId(LEADER).build(); return timeout ? failedFuture(new TimeoutException()) : completedFuture(resp); } - }).when(cluster).sendWithResponse(eq(LEADER.getNode()), any(RaftClientMessages.GetLeaderRequest.class), anyLong()); + }).when(cluster).sendWithResponse(eq(LEADER.getNode()), any(GetLeaderRequest.class), anyLong()); } } 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 2dd1c52..c6c4f21 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 @@ -26,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.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.UserRequest; import org.apache.ignite.raft.client.rpc.impl.RaftGroupRpcClientImpl; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -134,12 +134,12 @@ public class RaftGroupRpcClientTest { RaftGroupRpcClient client = new RaftGroupRpcClientImpl(cluster, MESSAGE_FACTORY, 5_000, singleton(LEADER.getNode())); - RaftClientMessages.UserRequest req1 = + UserRequest req1 = client.factory().createUserRequest().setGroupId(groupId).setRequest(new TestInput1()).build(); assertTrue(client.submit(req1).get().response() instanceof TestOutput1); - RaftClientMessages.UserRequest req2 = + UserRequest req2 = client.factory().createUserRequest().setGroupId(groupId).setRequest(new TestInput2()).build(); assertTrue(client.submit(req2).get().response() instanceof TestOutput2); 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 ea3adc4..fefc9b8 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 @@ -60,7 +60,7 @@ public class RaftGroupClientRequestServiceTest { RaftGroupClientRequestService reqService = new RaftGroupClientRequestServiceImpl(rpcClient, groupId); RaftGroupManagmentService mgmtService = new RaftGroupManagementServiceImpl(rpcClient, groupId); - assertNull(mgmtService.getLeader()); + assertEquals(LEADER, mgmtService.getLeader()); CompletableFuture<TestOutput1> fut1 = reqService.submit(new TestInput1()); @@ -73,7 +73,5 @@ public class RaftGroupClientRequestServiceTest { TestOutput2 output2 = fut2.get(); assertNotNull(output2); - - assertEquals(LEADER, mgmtService.getLeader()); } }
