Closed 847850277 closed 1 month ago
The recent changes significantly enhance the rocketmq
broker's request processing capabilities, particularly through the AdminBrokerProcessor
. A new focus on broker configuration management replaces the previous topic deletion functionality with methods for updating and retrieving broker configurations. Additionally, various structures now support serialization, improving data handling and introspection. These enhancements equip users with robust tools for effective broker management.
Files | Change Summary |
---|---|
rocketmq-broker/src/.../admin_broker_processor.rs |
Updated request handling in AdminBrokerProcessor , removing DeleteTopicInBroker and adding UpdateBrokerConfig and GetBrokerConfig . |
rocketmq-broker/src/.../broker_config_request_handler.rs |
Introduced BrokerConfigRequestHandler to manage broker configurations, with methods for update_broker_config (unimplemented) and get_broker_config . |
rocketmq-common/src/.../broker/broker_config.rs |
Enhanced serialization for BrokerIdentity , BrokerConfig , TopicQueueConfig , and TimerWheelConfig . Added get_properties method in BrokerConfig . |
rocketmq-store/src/.../config/message_store_config.rs |
Added get_properties method to MessageStoreConfig for accessing configuration properties. |
rocketmq-store/src/.../message_store/default_message_store.rs |
Implemented message_store_config method in DefaultMessageStore to access configuration details. |
sequenceDiagram
participant Client
participant Broker
participant BrokerConfigHandler
Client->>Broker: Send UpdateBrokerConfig Request
Broker->>BrokerConfigHandler: Process UpdateBrokerConfig
BrokerConfigHandler-->>Broker: Confirm Update
Broker-->>Client: Acknowledge Update
sequenceDiagram
participant Client
participant Broker
participant BrokerConfigHandler
Client->>Broker: Send GetBrokerConfig Request
Broker->>BrokerConfigHandler: Process GetBrokerConfig
BrokerConfigHandler-->>Broker: Return Config Data
Broker-->>Client: Send Config Response
Objective | Addressed | Explanation |
---|---|---|
Support AdminBrokerProcessor get_broker_config (#[823]) |
✅ |
🐰 In the meadow where the code does flow,
New features sprout and proudly grow.
Configs now dance in structured display,
With updates and queries, hip-hip-hooray!
A rabbit's joy in the code we share,
Enhancements make the broker fair! 🌼
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
🚀Thanks for your contribution🎉. CodeRabbit(AI) will review your code first🔥
Attention: Patch coverage is 0.10277%
with 972 lines
in your changes missing coverage. Please review.
Project coverage is 27.19%. Comparing base (
bf04078
) to head (2d5fc7f
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
🚀Thanks for your contribution🎉. CodeRabbit(AI) will review your code first🔥
@847850277 I personally think this area can directly use
HashMap<String, String>
, with the key values keeping consistent with the Java version. This is necessary because the Rust version needs to be compatible with the Java version. Otherwise, the configuration retrieved using Java client commands will appear differently. Additionally, as you can see, in the Java version,BrokerConfig
inherits fromBrokerIdentity
, so after serialization, they should be at the same level. The same should apply in Rust, so the key values should remain consistent.
correct.
🚀Thanks for your contribution🎉. CodeRabbit(AI) will review your code first🔥
🚀Thanks for your contribution🎉. CodeRabbit(AI) will review your code first🔥
🚀Thanks for your contribution🎉. CodeRabbit(AI) will review your code first🔥
🚀Thanks for your contribution🎉. CodeRabbit(AI) will review your code first🔥
Which Issue(s) This PR Fixes(Closes)
Fix #823
Fixes #issue_id
Brief Description
Support AdminBrokerProcessor get_broker_config
How Did You Test This Change?
Summary by CodeRabbit
Summary by CodeRabbit
New Features
Bug Fixes
Documentation