* feat(controller): build metrics framework in controller module
1. build metrics framework in controller module
* feat(controller): record metrics about controller
1. record metrics about controller
* fix(controller): fix after review
1. fix after review
Closes https://github.com/apache/rocketmq/issues/6777
* fix(controller): fix after review
1. fix lack of dependency
Closes https://github.com/apache/rocketmq/issues/6777
* Make configPath unable to update at runtime
* Make configPath unable to update at runtime
* Add ASF header
* Add ASF header
* Pass the check style
* Polish the response code
* Polish the response code
* (fix): logback config path seperator and brokerLogDir default value missing
* (fix): replace / with file.seperator in proxy test logback config
---------
Co-authored-by: Robin Han <robin@Robindendiannao.lan>
* [ISSUE #6414] polish MQClientAPIImpl.getDefaultTopicRouteInfoFromNameServer parameters
* Fix to make Bazel CI pass
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* Fix typo
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
---------
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
Co-authored-by: Li Zhanhui <lizhanhui@gmail.com>
* feat(controller): concurrent protect ReplicasInfoManager#replicaInfoTable and ReplicasInfoManager#syncStateSetInfoTable
1. concurrent protect ReplicasInfoManager#replicaInfoTable and
ReplicasInfoManager#syncStateSetInfoTable
* docs(controller): make statemachine thread-safe and support timed checking inactive master in each broker-set
1. make statemachine thread-safe
2. support timed checking inactive
master in each broker-set
* fix(controller): Add some logic when visit the BrokerReplicaInfo to avoid NPE
1. Add some logic when visit the BrokerReplicaInfo to avoid NPE
* test(controller): polish some test logic
1. polish some test logic
* fix(controller): Revise back the ControllerConfig#controllerStorePath to avoid the Incompatibility problems
1. Revise back the ControllerConfig#controllerStorePath to avoid the
Incompatibility problems
* refactor(controller): refactor the register logic
1. refactor the register logic
* refactor(controller): remove unused field in ElectMasterEvent
1. remove unused field in ElectMasterEvent
* feat(controller): add a tryElectMaster request and process logic about it
1. add a tryElectMaster request and process logic about it
* feat(controller): refactor ReplicasInfoManagerTest
1. refactor ReplicasInfoManagerTest
* refactor(controller): refactor DLedgerControllerTest
1. refactor DLedgerControllerTest
* refactor(controller): refactor ControllerManagerTest
1. refactor ControllerManagerTest
* refactor(controller): refactor ReplicasInfoManagerTest
1. refactor ReplicasInfoManagerTest
* refactor(controller): refactor register process and pass the junit test
1. refactor ReplicasInfoManagerTest
* style(broker): rename a constant
1. rename a constant
* feat(controller): update the DLedger dependency from v0.27 to v0.30
1. update the DLedger dependency from v0.27 to v0.30
* style(controller): add a white-line just for trigger GitHub action again
1. add a white-line just for trigger GitHub action again
* feat(controller): combine electMaster api and brokerTryElectMaster api
1. combine electMaster api and brokerTryElectMaster api
* feat(controller): add a logic about verifying the broker id returned from registering
1. add a logic about verifying the broker id returned from registering
* fix(controller): remove unused code and add a warning log in ControllerManager
1. remove unused code and add a warning log in ControllerManager
* fix: resolve conflicts
1. resolve conflicts
* fix(controller): remove unused class
1. remove unused class
* fix(controller): Resolve conflicts after merging
1. Resolve conflicts after merging
* refactor(controller): Refactor ReplicasInfoManager#elect
1. Refactor ReplicasInfoManager#elect
* style(controller): remove unused imports
1. remove unused imports
* style(controller): remove unused imports
1. remove unused imports
* fix(controller): resolve conflicts after merging develop branch
1. resolve conflicts after merging develop branch
* rerun
* fix(controller): resolve conflicts in ReplicasInfoManagerTest#testRegisterNewBroker after merging develop branch
1. resolve conflicts in ReplicasInfoManagerTest#testRegisterNewBroker after merging develop branch
* style(controller): pass style check
1. pass style check
* Shutdown flowMonitor when connection disconnect
* Whether the master is existed has more accurate judgment
* Shutdown flowMonitor when HAClient service end
* Pass the check style
* Modify according to comments