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:38 UTC

[rocketmq] 12/14: fix(controller): fix some bug about ignoring new-add event type

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 563e91d38514c84efde8d9d83569b966cb6fbaa4
Author: TheR1sing3un <th...@163.com>
AuthorDate: Mon Feb 6 13:40:48 2023 +0800

    fix(controller): fix some bug about ignoring new-add event type
    
    1. fix some bug about ignoring new-add event type
---
 broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java | 1 +
 .../java/org/apache/rocketmq/controller/impl/event/EventSerializer.java | 2 ++
 .../main/java/org/apache/rocketmq/controller/impl/event/EventType.java  | 2 ++
 .../org/apache/rocketmq/test/autoswitchrole/AutoSwitchRoleBase.java     | 2 ++
 4 files changed, 7 insertions(+)

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 5f8c670a8..9c44f5df4 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
@@ -1306,6 +1306,7 @@ public class BrokerOuterAPI {
         requestHeader.setConfirmOffset(confirmOffset);
         requestHeader.setHeartbeatTimeoutMills(controllerHeartBeatTimeoutMills);
         requestHeader.setElectionPriority(electionPriority);
+        requestHeader.setBrokerId(brokerId);
         brokerOuterExecutor.execute(new AbstractBrokerRunnable(new BrokerIdentity(clusterName, brokerName, brokerId, isInBrokerContainer)) {
             @Override
             public void run0() {
diff --git a/controller/src/main/java/org/apache/rocketmq/controller/impl/event/EventSerializer.java b/controller/src/main/java/org/apache/rocketmq/controller/impl/event/EventSerializer.java
index d49616f2d..b5358c7c3 100644
--- a/controller/src/main/java/org/apache/rocketmq/controller/impl/event/EventSerializer.java
+++ b/controller/src/main/java/org/apache/rocketmq/controller/impl/event/EventSerializer.java
@@ -69,6 +69,8 @@ public class EventSerializer {
                         return this.serializer.deserialize(data, ElectMasterEvent.class);
                     case CLEAN_BROKER_DATA_EVENT:
                         return this.serializer.deserialize(data, CleanBrokerDataEvent.class);
+                    case UPDATE_BROKER_ADDRESS:
+                        return this.serializer.deserialize(data, UpdateBrokerAddressEvent.class);
                     default:
                         break;
                 }
diff --git a/controller/src/main/java/org/apache/rocketmq/controller/impl/event/EventType.java b/controller/src/main/java/org/apache/rocketmq/controller/impl/event/EventType.java
index 29aacf7a6..2b4cefb1d 100644
--- a/controller/src/main/java/org/apache/rocketmq/controller/impl/event/EventType.java
+++ b/controller/src/main/java/org/apache/rocketmq/controller/impl/event/EventType.java
@@ -48,6 +48,8 @@ public enum EventType {
                 return READ_EVENT;
             case 5:
                 return CLEAN_BROKER_DATA_EVENT;
+            case 6:
+                return UPDATE_BROKER_ADDRESS;
         }
         return null;
     }
diff --git a/test/src/test/java/org/apache/rocketmq/test/autoswitchrole/AutoSwitchRoleBase.java b/test/src/test/java/org/apache/rocketmq/test/autoswitchrole/AutoSwitchRoleBase.java
index 5e5d84c8b..b7480577b 100644
--- a/test/src/test/java/org/apache/rocketmq/test/autoswitchrole/AutoSwitchRoleBase.java
+++ b/test/src/test/java/org/apache/rocketmq/test/autoswitchrole/AutoSwitchRoleBase.java
@@ -131,6 +131,8 @@ public class AutoSwitchRoleBase {
         storeConfig.setStorePathRootDir(STORE_PATH_ROOT_DIR + File.separator + brokerDir);
         storeConfig.setStorePathCommitLog(STORE_PATH_ROOT_DIR + File.separator + brokerDir + File.separator + "commitlog");
         storeConfig.setStorePathEpochFile(STORE_PATH_ROOT_DIR + File.separator + brokerDir + File.separator + "EpochFileCache");
+        storeConfig.setStorePathMetadata(STORE_PATH_ROOT_DIR + File.separator + brokerDir + File.separator + "metadata");
+        storeConfig.setStorePathTempMetadata(STORE_PATH_ROOT_DIR + File.separator + brokerDir + File.separator + "tempMetadata");
         storeConfig.setTotalReplicas(3);
         storeConfig.setInSyncReplicas(2);