You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by ji...@apache.org on 2023/02/07 01:14:35 UTC

[rocketmq] 09/14: feat(broker): perfect ReplicaManagerTest.java

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 a9034ccb50b7f12bc8f57929f6716a9c81edaee5
Author: TheR1sing3un <th...@163.com>
AuthorDate: Mon Feb 6 00:17:48 2023 +0800

    feat(broker): perfect ReplicaManagerTest.java
    
    1. perfect ReplicaManagerTest.java
---
 .../rocketmq/broker/controller/ReplicasManagerTest.java   | 15 ++++++++++++---
 .../java/org/apache/rocketmq/common/BrokerAddrInfo.java   |  2 +-
 .../java/org/apache/rocketmq/controller/Controller.java   |  1 -
 3 files changed, 13 insertions(+), 5 deletions(-)

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 2be54d0be..4814de187 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
@@ -17,6 +17,7 @@
 
 package org.apache.rocketmq.broker.controller;
 
+import java.io.File;
 import java.util.concurrent.TimeUnit;
 import org.apache.rocketmq.broker.BrokerController;
 import org.apache.rocketmq.broker.out.BrokerOuterAPI;
@@ -27,9 +28,7 @@ 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.register.ApplyBrokerIdResponseHeader;
-import org.apache.rocketmq.remoting.protocol.header.controller.register.GetNextBrokerIdRequestHeader;
 import org.apache.rocketmq.remoting.protocol.header.controller.register.GetNextBrokerIdResponseHeader;
-import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerResponseHeader;
 import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterResponseHeader;
 import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterSuccessResponseHeader;
 import org.apache.rocketmq.store.DefaultMessageStore;
@@ -45,7 +44,6 @@ import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.Mockito.when;
 
@@ -114,6 +112,10 @@ public class ReplicasManagerTest {
     public void before() throws Exception {
         autoSwitchHAService = new AutoSwitchHAService();
         messageStoreConfig = new MessageStoreConfig();
+        File metadataFile = new File(messageStoreConfig.getStorePathMetadata());
+        File tempMetadataFile = new File(messageStoreConfig.getStorePathTempMetadata());
+        metadataFile.deleteOnExit();
+        tempMetadataFile.deleteOnExit();
         brokerConfig = new BrokerConfig();
         slaveSynchronize = new SlaveSynchronize(brokerController);
         getMetaDataResponseHeader = new GetMetaDataResponseHeader(GROUP, LEADER_ID, OLD_MASTER_ADDRESS, IS_LEADER, PEERS);
@@ -122,7 +124,10 @@ public class ReplicasManagerTest {
         applyBrokerIdResponseHeader = new ApplyBrokerIdResponseHeader();
         registerSuccessResponseHeader = new RegisterSuccessResponseHeader();
         brokerTryElectResponseHeader = new ElectMasterResponseHeader();
+        brokerTryElectResponseHeader.setMasterBrokerId(BROKER_ID_1);
         brokerTryElectResponseHeader.setMasterAddress(OLD_MASTER_ADDRESS);
+        brokerTryElectResponseHeader.setMasterEpoch(OLD_MASTER_EPOCH);
+        brokerTryElectResponseHeader.setSyncStateSetEpoch(OLD_MASTER_EPOCH);
         getReplicaInfoResponseHeader = new GetReplicaInfoResponseHeader();
         getReplicaInfoResponseHeader.setMasterAddress(OLD_MASTER_ADDRESS);
         getReplicaInfoResponseHeader.setMasterBrokerId(BROKER_ID_1);
@@ -155,6 +160,10 @@ public class ReplicasManagerTest {
     public void after() {
         replicasManager.shutdown();
         brokerController.shutdown();
+        File metadataFile = new File(messageStoreConfig.getStorePathMetadata());
+        File tempMetadataFile = new File(messageStoreConfig.getStorePathTempMetadata());
+        metadataFile.deleteOnExit();
+        tempMetadataFile.deleteOnExit();
     }
 
     @Test
diff --git a/common/src/main/java/org/apache/rocketmq/common/BrokerAddrInfo.java b/common/src/main/java/org/apache/rocketmq/common/BrokerAddrInfo.java
index 09dd36d0c..8428bd268 100644
--- a/common/src/main/java/org/apache/rocketmq/common/BrokerAddrInfo.java
+++ b/common/src/main/java/org/apache/rocketmq/common/BrokerAddrInfo.java
@@ -58,7 +58,7 @@ public class BrokerAddrInfo {
 
         if (obj instanceof BrokerAddrInfo) {
             BrokerAddrInfo addr = (BrokerAddrInfo) obj;
-            return clusterName.equals(addr.clusterName) && brokerName.equals(addr.brokerName) && brokerId == addr.brokerId;
+            return clusterName.equals(addr.clusterName) && brokerName.equals(addr.brokerName) && brokerId.equals(addr.brokerId);
         }
         return false;
     }
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 5c0402dad..1d4948c2b 100644
--- a/controller/src/main/java/org/apache/rocketmq/controller/Controller.java
+++ b/controller/src/main/java/org/apache/rocketmq/controller/Controller.java
@@ -28,7 +28,6 @@ import org.apache.rocketmq.remoting.protocol.header.controller.ElectMasterReques
 import org.apache.rocketmq.remoting.protocol.header.controller.GetReplicaInfoRequestHeader;
 import org.apache.rocketmq.remoting.protocol.header.controller.register.ApplyBrokerIdRequestHeader;
 import org.apache.rocketmq.remoting.protocol.header.controller.register.GetNextBrokerIdRequestHeader;
-import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterBrokerToControllerRequestHeader;
 import org.apache.rocketmq.remoting.protocol.header.controller.register.RegisterSuccessRequestHeader;
 
 /**