Closed mxsm closed 4 months ago
🚀Thanks for your contribution🎉. CodeRabbit(AI) will review your code first🔥
[!WARNING]
Review failed
The pull request is closed.
The changes introduce new features and improvements across multiple modules in the RocketMQ codebase. Key additions include new methods for managing topics and offsets, enhanced deserialization error handling, and new configurations for the broker. The updates to the BrokerRuntime
, ConsumerOffsetManager
, and BrokerOuterAPI
modules, along with the inclusion of new constants, traits, and structs, ensure a more robust and flexible message processing system.
Files/Modules | Change Summaries |
---|---|
rocketmq-broker/src/broker_runtime.rs |
Added AdminBrokerProcessor in imports; updated initialization in BrokerRuntime . |
rocketmq-broker/src/offset/manager/consumer_offset_manager.rs |
Introduced clean_offset_by_topic and which_group_by_topic public functions. |
rocketmq-broker/src/out_api/broker_outer_api.rs |
Modified JSON decoding of KVTable to include .unwrap() for error handling. |
rocketmq-broker/src/processor.rs |
Added pop_inflight_message_counter module; updated request handling to include await . |
rocketmq-common/src/common.rs |
Added pop_ack_constants and key_builder modules. |
rocketmq-common/src/common/attribute.rs |
Introduced attribute_parser module. |
rocketmq-common/src/common/broker/broker_config.rs |
Added fields validate_system_topic_when_update_topic and enable_mixed_message_type to BrokerConfig struct. |
rocketmq-common/src/common/config.rs |
Added get_topic_message_type method to TopicConfig struct. |
rocketmq-common/src/common/key_builder.rs |
Introduced KeyBuilder module with functions for retry topics management. |
rocketmq-common/src/common/pop_ack_constants.rs |
Added PopAckConstants struct with new constants and methods. |
rocketmq-common/src/common/serde_json_utils.rs |
Modified decode function to return Result<T, SerdeJsonError> instead of directly returning T . |
rocketmq-namesrv/src/kvconfig/kvconfig_mananger.rs |
Added .unwrap() to handle JSON decoding results. |
rocketmq-remoting/src/code/request_code.rs |
Added UpdateAndCreateTopicList variant to RequestCode enum. |
rocketmq-remoting/src/protocol.rs |
Introduced RemotingDeserializable trait with decode method for deserialization. |
rocketmq-remoting/src/protocol/body.rs |
Added create_topic_list_request_body module. |
rocketmq-remoting/src/protocol/body/broker_body/register_broker_body.rs |
Updated JSON decoding to include .unwrap() for RegisterBrokerBody . |
rocketmq-remoting/src/protocol/body/create_topic_list_request_body.rs |
Introduced CreateTopicListRequestBody struct with topic_config_list field. |
rocketmq-remoting/src/protocol/body/topic_info_wrapper/topic_config_wrapper.rs |
Added topic_queue_mapping_detail_map field to TopicConfigAndMappingSerializeWrapper struct. |
rocketmq-remoting/src/protocol/header.rs |
Added modules for create_topic_request_header , delete_topic_request_header and get_all_topic_config_response_header . |
rocketmq-remoting/src/protocol/header/create_topic_request_header.rs |
Introduced CreateTopicRequestHeader struct with serialization, deserialization, and custom header handling capabilities. |
rocketmq-remoting/src/protocol/header/delete_topic_request_header.rs |
Introduced DeleteTopicRequestHeader struct with serialization, deserialization, and custom header handling capabilities. |
rocketmq-remoting/src/protocol/header/get_all_topic_config_response_header.rs |
Introduced GetAllTopicConfigResponseHeader struct implementing CommandCustomHeader trait. |
rocketmq-remoting/src/protocol/heartbeat/heartbeat_data.rs |
Updated tests to include .unwrap() after JSON decoding for HeartbeatData . |
rocketmq-store/src/log_file.rs |
Added delete_topics function to RocketMQMessageStore trait. |
rocketmq-store/src/message_store/default_message_store.rs |
Added delete_topics method to DefaultMessageStore for topic deletion. |
No sequence diagrams generated as the changes reflect structural additions and error handling improvements without introducing complex new control flows.
Objective (Issues) | Addressed | Explanation |
---|---|---|
Support for Topic management (17, 18, 21, 215) | ✅ | |
Enhanced deserialization error handling | ✅ | |
Addition of new broker configurations | ✅ | |
Introduction of new constants and modules | ✅ | |
Methods for managing offsets and topics | ✅ |
In a world of code so tight and neat,
New changes come, quite the feat!
With topics managed and errors caught,
The RocketMQ ship sails without naught.
Configuration options now abound,
In this update, new strengths are found.
Let’s celebrate this code delight,
For every change, a future bright!
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🔥
Which Issue(s) This PR Fixes(Closes)
Fixes #763
Brief Description
How Did You Test This Change?
Summary by CodeRabbit
New Features
delete_topics
method in the message store for topic deletion management.Enhancements
.unwrap()
for JSON decoding in several modules.BrokerConfig
to validate system topics and enable mixed message types.Bug Fixes
.unwrap()
in JSON handling methods.Documentation