This is an automated email from the ASF dual-hosted git repository. jinrongtong pushed a commit to branch dledger-controller-brokerId in repository https://gitbox.apache.org/repos/asf/rocketmq.git
commit 1e076179af90820e488f8397b0519267cfdd32f6 Author: TheR1sing3un <[email protected]> AuthorDate: Fri Feb 3 23:37:33 2023 +0800 feat(controller): add protocols about new register flow 1. add protocols about new register flow --- .../broker/controller/ReplicasManager.java | 2 +- .../apache/rocketmq/broker/out/BrokerOuterAPI.java | 4 +- .../broker/controller/ReplicasManagerTest.java | 2 +- .../rocketmq/client/impl/MQClientAPIImpl.java | 2 +- .../org/apache/rocketmq/controller/Controller.java | 4 +- .../controller/elect/impl/DefaultElectPolicy.java | 6 --- .../controller/impl/DLedgerController.java | 4 +- .../impl/manager/ReplicasInfoManager.java | 6 +-- .../processor/ControllerRequestProcessor.java | 6 +-- .../impl/controller/ControllerManagerTest.java | 4 +- .../controller/impl/DLedgerControllerTest.java | 4 +- .../impl/manager/ReplicasInfoManagerTest.java | 6 +-- .../CleanControllerBrokerDataRequestHeader.java | 12 ++--- .../register/ApplyBrokerIdRequestHeader.java | 37 ++++++++++++++ .../register/ApplyBrokerIdResponseHeader.java | 56 ++++++++++++++++++++++ .../register/GetNextBrokerIdRequestHeader.java | 46 ++++++++++++++++++ .../register/GetNextBrokerIdResponseHeader.java | 50 +++++++++++++++++++ .../RegisterBrokerToControllerRequestHeader.java | 2 +- .../RegisterBrokerToControllerResponseHeader.java | 2 +- 19 files changed, 219 insertions(+), 36 deletions(-) diff --git a/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java b/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java index 957a13db7..5184a2350 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java @@ -47,7 +47,7 @@ import org.apache.rocketmq.remoting.protocol.body.SyncStateSet; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetMetaDataResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoResponseHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerResponseHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerResponseHeader; import org.apache.rocketmq.store.config.BrokerRole; import org.apache.rocketmq.store.ha.autoswitch.AutoSwitchHAService; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java b/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java index 6975e0fee..97aeae5a9 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java @@ -107,8 +107,8 @@ import org.apache.rocketmq.remoting.protocol.header.controller.AlterSyncStateSet import org.apache.rocketmq.remoting.protocol.header.controller.GetMetaDataResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoResponseHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerResponseHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerResponseHeader; import org.apache.rocketmq.remoting.protocol.header.namesrv.BrokerHeartbeatRequestHeader; import org.apache.rocketmq.remoting.protocol.header.namesrv.GetRouteInfoRequestHeader; import org.apache.rocketmq.remoting.protocol.header.namesrv.QueryDataVersionRequestHeader; diff --git a/broker/src/test/java/org/apache/rocketmq/broker/controller/ReplicasManagerTest.java b/broker/src/test/java/org/apache/rocketmq/broker/controller/ReplicasManagerTest.java index b8a6156d3..0dc782e4e 100644 --- a/broker/src/test/java/org/apache/rocketmq/broker/controller/ReplicasManagerTest.java +++ b/broker/src/test/java/org/apache/rocketmq/broker/controller/ReplicasManagerTest.java @@ -26,7 +26,7 @@ import org.apache.rocketmq.common.Pair; import org.apache.rocketmq.remoting.protocol.body.SyncStateSet; import org.apache.rocketmq.remoting.protocol.header.controller.GetMetaDataResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoResponseHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerResponseHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterResponseHeader; import org.apache.rocketmq.store.DefaultMessageStore; import org.apache.rocketmq.store.config.MessageStoreConfig; diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java index 681f985cd..bb5ced847 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java @@ -203,7 +203,7 @@ import org.apache.rocketmq.remoting.protocol.header.namesrv.GetRouteInfoRequestH import org.apache.rocketmq.remoting.protocol.header.namesrv.PutKVConfigRequestHeader; import org.apache.rocketmq.remoting.protocol.header.namesrv.WipeWritePermOfBrokerRequestHeader; import org.apache.rocketmq.remoting.protocol.header.namesrv.WipeWritePermOfBrokerResponseHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.CleanControllerBrokerDataRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.admin.CleanControllerBrokerDataRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetMetaDataResponseHeader; diff --git a/controller/src/main/java/org/apache/rocketmq/controller/Controller.java b/controller/src/main/java/org/apache/rocketmq/controller/Controller.java index 58a9b6214..963f35058 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/Controller.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/Controller.java @@ -23,10 +23,10 @@ import org.apache.rocketmq.remoting.RemotingServer; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.remoting.protocol.body.SyncStateSet; import org.apache.rocketmq.remoting.protocol.header.controller.AlterSyncStateSetRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.CleanControllerBrokerDataRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.admin.CleanControllerBrokerDataRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerRequestHeader; /** * The api for controller diff --git a/controller/src/main/java/org/apache/rocketmq/controller/elect/impl/DefaultElectPolicy.java b/controller/src/main/java/org/apache/rocketmq/controller/elect/impl/DefaultElectPolicy.java index e7423675a..22d69c357 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/elect/impl/DefaultElectPolicy.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/elect/impl/DefaultElectPolicy.java @@ -16,7 +16,6 @@ */ package org.apache.rocketmq.controller.elect.impl; -import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.controller.elect.ElectPolicy; import org.apache.rocketmq.controller.BrokerLiveInfo; import org.apache.rocketmq.controller.helper.BrokerLiveInfoGetter; @@ -25,8 +24,6 @@ import org.apache.rocketmq.controller.helper.BrokerValidPredicate; import java.util.Comparator; import java.util.Set; import java.util.TreeSet; -import java.util.function.BiFunction; -import java.util.function.BiPredicate; import java.util.stream.Collectors; public class DefaultElectPolicy implements ElectPolicy { @@ -121,9 +118,6 @@ public class DefaultElectPolicy implements ElectPolicy { } - public BiFunction<String, String, BrokerLiveInfo> getAdditionalInfoGetter() { - return additionalInfoGetter; - } public void setBrokerLiveInfoGetter(BrokerLiveInfoGetter brokerLiveInfoGetter) { this.brokerLiveInfoGetter = brokerLiveInfoGetter; diff --git a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java index f4f32e05c..3f0aef746 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java @@ -58,11 +58,11 @@ import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.remoting.protocol.ResponseCode; import org.apache.rocketmq.remoting.protocol.body.SyncStateSet; import org.apache.rocketmq.remoting.protocol.header.controller.AlterSyncStateSetRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.CleanControllerBrokerDataRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.admin.CleanControllerBrokerDataRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetMetaDataResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerRequestHeader; /** * The implementation of controller, based on DLedger (raft). diff --git a/controller/src/main/java/org/apache/rocketmq/controller/impl/manager/ReplicasInfoManager.java b/controller/src/main/java/org/apache/rocketmq/controller/impl/manager/ReplicasInfoManager.java index c915131bf..a5ab46bf7 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/impl/manager/ReplicasInfoManager.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/impl/manager/ReplicasInfoManager.java @@ -47,13 +47,13 @@ import org.apache.rocketmq.remoting.protocol.body.BrokerReplicasInfo; import org.apache.rocketmq.remoting.protocol.body.SyncStateSet; import org.apache.rocketmq.remoting.protocol.header.controller.AlterSyncStateSetRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.AlterSyncStateSetResponseHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.CleanControllerBrokerDataRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.admin.CleanControllerBrokerDataRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoResponseHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerResponseHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerResponseHeader; /** * The manager that manages the replicas info for all brokers. We can think of this class as the controller's memory diff --git a/controller/src/main/java/org/apache/rocketmq/controller/processor/ControllerRequestProcessor.java b/controller/src/main/java/org/apache/rocketmq/controller/processor/ControllerRequestProcessor.java index 78ebad8fc..ec84f4ca7 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/processor/ControllerRequestProcessor.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/processor/ControllerRequestProcessor.java @@ -38,12 +38,12 @@ import org.apache.rocketmq.remoting.protocol.body.RoleChangeNotifyEntry; import org.apache.rocketmq.remoting.protocol.body.SyncStateSet; import org.apache.rocketmq.remoting.protocol.header.namesrv.BrokerHeartbeatRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.AlterSyncStateSetRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.CleanControllerBrokerDataRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.admin.CleanControllerBrokerDataRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerResponseHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerResponseHeader; import static org.apache.rocketmq.remoting.protocol.RequestCode.BROKER_HEARTBEAT; import static org.apache.rocketmq.remoting.protocol.RequestCode.CLEAN_BROKER_DATA; diff --git a/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/ControllerManagerTest.java b/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/ControllerManagerTest.java index 869a50e72..6a54a15fc 100644 --- a/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/ControllerManagerTest.java +++ b/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/ControllerManagerTest.java @@ -40,8 +40,8 @@ import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterReques import org.apache.rocketmq.remoting.protocol.header.namesrv.BrokerHeartbeatRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoResponseHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerResponseHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterResponseHeader; import org.junit.After; diff --git a/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/impl/DLedgerControllerTest.java b/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/impl/DLedgerControllerTest.java index 873e76760..239094c29 100644 --- a/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/impl/DLedgerControllerTest.java +++ b/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/impl/DLedgerControllerTest.java @@ -41,8 +41,8 @@ import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterReques import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoResponseHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerResponseHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerResponseHeader; import org.junit.After; import org.junit.Before; import org.junit.Test; diff --git a/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/impl/manager/ReplicasInfoManagerTest.java b/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/impl/manager/ReplicasInfoManagerTest.java index 8dc637842..d5cad8188 100644 --- a/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/impl/manager/ReplicasInfoManagerTest.java +++ b/controller/src/test/java/org/apache/rocketmq/controller/impl/controller/impl/manager/ReplicasInfoManagerTest.java @@ -36,13 +36,13 @@ import org.apache.rocketmq.remoting.protocol.body.BrokerReplicasInfo; import org.apache.rocketmq.remoting.protocol.body.SyncStateSet; import org.apache.rocketmq.remoting.protocol.header.controller.AlterSyncStateSetRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.AlterSyncStateSetResponseHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.CleanControllerBrokerDataRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.admin.CleanControllerBrokerDataRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterResponseHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoRequestHeader; import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoResponseHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerRequestHeader; -import org.apache.rocketmq.remoting.protocol.header.controller.RegisterBrokerToControllerResponseHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerRequestHeader; +import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerResponseHeader; import org.junit.After; import org.junit.Before; import org.junit.Test; diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/CleanControllerBrokerDataRequestHeader.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/admin/CleanControllerBrokerDataRequestHeader.java similarity index 89% rename from remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/CleanControllerBrokerDataRequestHeader.java rename to remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/admin/CleanControllerBrokerDataRequestHeader.java index b2d6640b7..9bc84d195 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/CleanControllerBrokerDataRequestHeader.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/admin/CleanControllerBrokerDataRequestHeader.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.rocketmq.remoting.protocol.header.controller; +package org.apache.rocketmq.remoting.protocol.header.controller.admin; import org.apache.rocketmq.remoting.CommandCustomHeader; import org.apache.rocketmq.remoting.annotation.CFNotNull; @@ -90,10 +90,10 @@ public class CleanControllerBrokerDataRequestHeader implements CommandCustomHead @Override public String toString() { return "CleanControllerBrokerDataRequestHeader{" + - "clusterName='" + clusterName + '\'' + - ", brokerName='" + brokerName + '\'' + - ", brokerAddress='" + brokerAddress + '\'' + - ", isCleanLivingBroker=" + isCleanLivingBroker + - '}'; + "clusterName='" + clusterName + '\'' + + ", brokerName='" + brokerName + '\'' + + ", brokerIdSetToClean='" + brokerIdSetToClean + '\'' + + ", isCleanLivingBroker=" + isCleanLivingBroker + + '}'; } } diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdRequestHeader.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdRequestHeader.java new file mode 100644 index 000000000..e8e1ea944 --- /dev/null +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdRequestHeader.java @@ -0,0 +1,37 @@ +/* + * 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.rocketmq.remoting.protocol.header.controller.register; + +import org.apache.rocketmq.remoting.CommandCustomHeader; +import org.apache.rocketmq.remoting.exception.RemotingCommandException; + +public class ApplyBrokerIdRequestHeader implements CommandCustomHeader { + + private String clusterName; + + private String brokerName; + + private Long appliedBrokerId; + + private String registerCheckCode; + + @Override + public void checkFields() throws RemotingCommandException { + + } +} diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdResponseHeader.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdResponseHeader.java new file mode 100644 index 000000000..382297f21 --- /dev/null +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdResponseHeader.java @@ -0,0 +1,56 @@ +/* + * 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.rocketmq.remoting.protocol.header.controller.register; + +import org.apache.rocketmq.remoting.CommandCustomHeader; +import org.apache.rocketmq.remoting.exception.RemotingCommandException; + +public class ApplyBrokerIdResponseHeader implements CommandCustomHeader { + + private String clusterName; + + private String brokerName; + + // if nextBrokerId isn't null, means that matched ApplyBrokerIdRequest is failed. + private Long nextBrokerId; + + public ApplyBrokerIdResponseHeader(String clusterName, String brokerName) { + this(clusterName, brokerName, null); + } + + public ApplyBrokerIdResponseHeader(String clusterName, String brokerName, Long nextBrokerId) { + this.clusterName = clusterName; + this.brokerName = brokerName; + this.nextBrokerId = nextBrokerId; + } + + + @Override + public String toString() { + return "ApplyBrokerIdResponseHeader{" + + "clusterName='" + clusterName + '\'' + + ", brokerName='" + brokerName + '\'' + + ", nextBrokerId=" + nextBrokerId + + '}'; + } + + @Override + public void checkFields() throws RemotingCommandException { + + } +} diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/GetNextBrokerIdRequestHeader.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/GetNextBrokerIdRequestHeader.java new file mode 100644 index 000000000..eee82a8f4 --- /dev/null +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/GetNextBrokerIdRequestHeader.java @@ -0,0 +1,46 @@ +/* + * 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.rocketmq.remoting.protocol.header.controller.register; + +import org.apache.rocketmq.remoting.CommandCustomHeader; +import org.apache.rocketmq.remoting.exception.RemotingCommandException; + +public class GetNextBrokerIdRequestHeader implements CommandCustomHeader { + + private String clusterName; + + private String brokerName; + + public GetNextBrokerIdRequestHeader(String clusterName, String brokerName) { + this.clusterName = clusterName; + this.brokerName = brokerName; + } + + @Override + public String toString() { + return "GetNextBrokerIdRequestHeader{" + + "clusterName='" + clusterName + '\'' + + ", brokerName='" + brokerName + '\'' + + '}'; + } + + @Override + public void checkFields() throws RemotingCommandException { + + } +} diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/GetNextBrokerIdResponseHeader.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/GetNextBrokerIdResponseHeader.java new file mode 100644 index 000000000..04f522a7a --- /dev/null +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/GetNextBrokerIdResponseHeader.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.remoting.protocol.header.controller.register; + +import org.apache.rocketmq.remoting.CommandCustomHeader; +import org.apache.rocketmq.remoting.exception.RemotingCommandException; + +public class GetNextBrokerIdResponseHeader implements CommandCustomHeader { + + private String clusterName; + + private String brokerName; + + private Long nextBrokerId; + + public GetNextBrokerIdResponseHeader(String clusterName, String brokerName, Long nextBrokerId) { + this.clusterName = clusterName; + this.brokerName = brokerName; + this.nextBrokerId = nextBrokerId; + } + + @Override + public String toString() { + return "GetNextBrokerIdResponseHeader{" + + "clusterName='" + clusterName + '\'' + + ", brokerName='" + brokerName + '\'' + + ", nextBrokerId=" + nextBrokerId + + '}'; + } + + @Override + public void checkFields() throws RemotingCommandException { + + } +} diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/RegisterBrokerToControllerRequestHeader.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/RegisterBrokerToControllerRequestHeader.java similarity index 98% rename from remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/RegisterBrokerToControllerRequestHeader.java rename to remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/RegisterBrokerToControllerRequestHeader.java index bdcf59c55..f67df18b6 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/RegisterBrokerToControllerRequestHeader.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/RegisterBrokerToControllerRequestHeader.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.rocketmq.remoting.protocol.header.controller; +package org.apache.rocketmq.remoting.protocol.header.controller.register; import org.apache.rocketmq.remoting.CommandCustomHeader; import org.apache.rocketmq.remoting.annotation.CFNullable; diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/RegisterBrokerToControllerResponseHeader.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/RegisterBrokerToControllerResponseHeader.java similarity index 96% rename from remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/RegisterBrokerToControllerResponseHeader.java rename to remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/RegisterBrokerToControllerResponseHeader.java index 0fdcfaccb..96378ad3c 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/RegisterBrokerToControllerResponseHeader.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/RegisterBrokerToControllerResponseHeader.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.rocketmq.remoting.protocol.header.controller; +package org.apache.rocketmq.remoting.protocol.header.controller.register; import org.apache.rocketmq.remoting.CommandCustomHeader; import org.apache.rocketmq.remoting.exception.RemotingCommandException;
