Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ISSUE #702]🚀Support pull message result handle-2🚀 #706

Merged
merged 3 commits into from
Jun 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions rocketmq-broker/src/broker_runtime.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@
broker_runtime: Option<RocketMQRuntime>,
producer_manager: Arc<ProducerManager>,
consumer_manager: Arc<ConsumerManager>,
broadcast_offset_manager: Arc<BroadcastOffsetManager>,
drop: Arc<AtomicBool>,
shutdown: Arc<AtomicBool>,
shutdown_hook: Option<BrokerShutdownHook>,
Expand Down Expand Up @@ -124,6 +125,7 @@
broker_runtime: None,
producer_manager: self.producer_manager.clone(),
consumer_manager: self.consumer_manager.clone(),
broadcast_offset_manager: self.broadcast_offset_manager.clone(),

Check warning on line 128 in rocketmq-broker/src/broker_runtime.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/broker_runtime.rs#L128

Added line #L128 was not covered by tests
drop: self.drop.clone(),
shutdown: self.shutdown.clone(),
shutdown_hook: self.shutdown_hook.clone(),
Expand Down Expand Up @@ -196,6 +198,7 @@
broker_runtime: Some(runtime),
producer_manager,
consumer_manager,
broadcast_offset_manager: Arc::new(Default::default()),

Check warning on line 201 in rocketmq-broker/src/broker_runtime.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/broker_runtime.rs#L201

Added line #L201 was not covered by tests
drop: Arc::new(AtomicBool::new(false)),
shutdown: Arc::new(AtomicBool::new(false)),
shutdown_hook: None,
Expand Down Expand Up @@ -361,6 +364,10 @@
);
let pull_message_result_handler = DefaultPullMessageResultHandler::new(
Arc::new(self.topic_config_manager.clone()),
Arc::new(self.consumer_offset_manager.clone()),
self.consumer_manager.clone(),
self.broadcast_offset_manager.clone(),
self.broker_stats_manager.clone(),

Check warning on line 370 in rocketmq-broker/src/broker_runtime.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/broker_runtime.rs#L367-L370

Added lines #L367 - L370 were not covered by tests
self.broker_config.clone(),
Arc::new(Default::default()),
);
Expand Down
12 changes: 12 additions & 0 deletions rocketmq-broker/src/offset/manager/broadcast_offset_manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,16 @@
) -> i64 {
unimplemented!()
}

pub fn update_offset(

Check warning on line 34 in rocketmq-broker/src/offset/manager/broadcast_offset_manager.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/offset/manager/broadcast_offset_manager.rs#L34

Added line #L34 was not covered by tests
&self,
topic: &str,
group: &str,
queue_id: i32,
offset: i64,
client_id: &str,
from_proxy: bool,
) {
unimplemented!()

Check warning on line 43 in rocketmq-broker/src/offset/manager/broadcast_offset_manager.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/offset/manager/broadcast_offset_manager.rs#L43

Added line #L43 was not covered by tests
}
Comment on lines +34 to +44
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implementation needed for update_offset method.

The method update_offset is currently marked as unimplemented!(). This suggests that the functionality is not yet complete.

Do you have a timeline for implementing this? It might be beneficial to add a TODO comment or create a tracking issue to ensure this does not get overlooked.

}
17 changes: 17 additions & 0 deletions rocketmq-broker/src/offset/manager/consumer_offset_manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,23 @@

#[allow(unused_variables)]
impl ConsumerOffsetManager {
pub fn commit_pull_offset(

Check warning on line 183 in rocketmq-broker/src/offset/manager/consumer_offset_manager.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/offset/manager/consumer_offset_manager.rs#L183

Added line #L183 was not covered by tests
&self,
_client_host: SocketAddr,
group: &str,
topic: &str,
queue_id: i32,
offset: i64,
) {
let key = format!("{}{}{}", topic, TOPIC_GROUP_SEPARATOR, group);
self.consumer_offset_wrapper

Check warning on line 192 in rocketmq-broker/src/offset/manager/consumer_offset_manager.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/offset/manager/consumer_offset_manager.rs#L191-L192

Added lines #L191 - L192 were not covered by tests
.lock()
.pull_offset_table
.entry(key)

Check warning on line 195 in rocketmq-broker/src/offset/manager/consumer_offset_manager.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/offset/manager/consumer_offset_manager.rs#L195

Added line #L195 was not covered by tests
.or_default()
.insert(queue_id, offset);
}

Check warning on line 198 in rocketmq-broker/src/offset/manager/consumer_offset_manager.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/offset/manager/consumer_offset_manager.rs#L197-L198

Added lines #L197 - L198 were not covered by tests

pub fn query_then_erase_reset_offset(
&self,
topic: &str,
Expand Down
185 changes: 178 additions & 7 deletions rocketmq-broker/src/processor/default_pull_message_result_handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,22 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
use std::net::SocketAddr;
use std::sync::Arc;

use bytes::Bytes;
use bytes::BytesMut;
use rocketmq_common::common::broker::broker_config::BrokerConfig;
use rocketmq_common::common::mix_all::MASTER_ID;
use rocketmq_common::common::sys_flag::pull_sys_flag::PullSysFlag;
use rocketmq_remoting::code::response_code::RemotingSysResponseCode;
use rocketmq_remoting::code::response_code::ResponseCode;
use rocketmq_remoting::net::channel::Channel;
use rocketmq_remoting::protocol::header::pull_message_request_header::PullMessageRequestHeader;
use rocketmq_remoting::protocol::header::pull_message_response_header::PullMessageResponseHeader;
use rocketmq_remoting::protocol::heartbeat::subscription_data::SubscriptionData;
use rocketmq_remoting::protocol::remoting_command::RemotingCommand;
use rocketmq_remoting::protocol::request_source::RequestSource;
use rocketmq_remoting::protocol::static_topic::topic_queue_mapping_context::TopicQueueMappingContext;
use rocketmq_remoting::protocol::subscription::subscription_group_config::SubscriptionGroupConfig;
use rocketmq_remoting::protocol::NamespaceUtil;
Expand All @@ -36,25 +41,42 @@
use tracing::debug;
use tracing::info;

use crate::client::manager::consumer_manager::ConsumerManager;
use crate::mqtrace::consume_message_context::ConsumeMessageContext;
use crate::mqtrace::consume_message_hook::ConsumeMessageHook;
use crate::offset::manager::broadcast_offset_manager::BroadcastOffsetManager;
use crate::offset::manager::consumer_offset_manager::ConsumerOffsetManager;
use crate::processor::pull_message_processor::is_broadcast;
use crate::processor::pull_message_processor::rewrite_response_for_static_topic;
use crate::processor::pull_message_result_handler::PullMessageResultHandler;
use crate::topic::manager::topic_config_manager::TopicConfigManager;

pub struct DefaultPullMessageResultHandler {
topic_config_manager: Arc<TopicConfigManager>,
consumer_offset_manager: Arc<ConsumerOffsetManager>,
consumer_manager: Arc<ConsumerManager>,
broadcast_offset_manager: Arc<BroadcastOffsetManager>,
broker_stats_manager: Arc<BrokerStatsManager>,
broker_config: Arc<BrokerConfig>,
consume_message_hook_list: Arc<Vec<Box<dyn ConsumeMessageHook>>>,
}

impl DefaultPullMessageResultHandler {
pub fn new(
topic_config_manager: Arc<TopicConfigManager>,
consumer_offset_manager: Arc<ConsumerOffsetManager>,
consumer_manager: Arc<ConsumerManager>,
broadcast_offset_manager: Arc<BroadcastOffsetManager>,
broker_stats_manager: Arc<BrokerStatsManager>,
broker_config: Arc<BrokerConfig>,
consume_message_hook_list: Arc<Vec<Box<dyn ConsumeMessageHook>>>,
) -> Self {
Self {
topic_config_manager,
consumer_offset_manager,
consumer_manager,
broadcast_offset_manager,
broker_stats_manager,
broker_config,
consume_message_hook_list,
}
Expand All @@ -74,7 +96,7 @@
broker_allow_suspend: bool,
message_filter: Box<dyn MessageFilter>,
mut response: RemotingCommand,
mapping_context: TopicQueueMappingContext,
mut mapping_context: TopicQueueMappingContext,
begin_time_mills: u64,
) -> Option<RemotingCommand> {
let client_address = channel.remote_address().to_string();
Expand All @@ -90,28 +112,95 @@
&mut response,
client_address.as_str(),
);
let code = From::from(response.code());

Check warning on line 115 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L115

Added line #L115 was not covered by tests
self.execute_consume_message_hook_before(
&request,
&request_header,
&get_message_result,
broker_allow_suspend,
From::from(response.code()),
code,
);
/*let response_header = response.read_custom_header_mut::<PullMessageResponseHeader>();
let rewrite_result = PullMessageProcessor::rewrite_response_for_static_topic(
let response_header = response.read_custom_header_mut::<PullMessageResponseHeader>();
let rewrite_result = rewrite_response_for_static_topic(

Check warning on line 124 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L123-L124

Added lines #L123 - L124 were not covered by tests
&request_header,
response_header.unwrap(),
&mut mapping_context,
ResponseCode::from(response.code()),
code,
);
if rewrite_result.is_some() {
return rewrite_result;
}*/
None
}
self.update_broadcast_pulled_offset(
request_header.topic.as_str(),
request_header.consumer_group.as_str(),
request_header.queue_id.unwrap(),

Check warning on line 136 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L133-L136

Added lines #L133 - L136 were not covered by tests
&request_header,
&channel,
Some(&response),
get_message_result.next_begin_offset(),

Check warning on line 140 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L139-L140

Added lines #L139 - L140 were not covered by tests
);
Comment on lines +133 to +141
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Complex Logic in update_broadcast_pulled_offset and try_commit_offset Methods

The methods update_broadcast_pulled_offset and try_commit_offset contain complex logic for managing offsets which might be hard to maintain. Consider simplifying or refactoring these methods to improve readability and maintainability.

- Existing complex methods
+ Proposed simplified versions (details depend on further context)

Also applies to: 143-147

self.try_commit_offset(

Check warning on line 142 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L142

Added line #L142 was not covered by tests
broker_allow_suspend,
&request_header,
get_message_result.next_begin_offset(),
channel.remote_address(),

Check warning on line 146 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L145-L146

Added lines #L145 - L146 were not covered by tests
);

match code {

Check warning on line 149 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L149

Added line #L149 was not covered by tests
ResponseCode::Success => {
self.broker_stats_manager.inc_group_get_nums(
request_header.consumer_group.as_str(),
request_header.topic.as_str(),
get_message_result.message_count(),

Check warning on line 154 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L151-L154

Added lines #L151 - L154 were not covered by tests
);
self.broker_stats_manager.inc_group_get_size(
request_header.consumer_group.as_str(),
request_header.topic.as_str(),
get_message_result.buffer_total_size(),

Check warning on line 159 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L156-L159

Added lines #L156 - L159 were not covered by tests
);
self.broker_stats_manager.inc_broker_get_nums(
request_header.topic.as_str(),
get_message_result.message_count(),

Check warning on line 163 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L161-L163

Added lines #L161 - L163 were not covered by tests
);
if self.broker_config.transfer_msg_by_heap {
let body = self.read_get_message_result(

Check warning on line 166 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L165-L166

Added lines #L165 - L166 were not covered by tests
&get_message_result,
request_header.consumer_group.as_str(),
request_header.topic.as_str(),
request_header.queue_id.unwrap(),

Check warning on line 170 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L168-L170

Added lines #L168 - L170 were not covered by tests
);
return Some(response.set_body(body));

Check warning on line 172 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L172

Added line #L172 was not covered by tests
} /*else {
None
}*/
None

Check warning on line 176 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L176

Added line #L176 was not covered by tests
}
ResponseCode::PullNotFound => Some(response),
ResponseCode::PullOffsetMoved => Some(response),
ResponseCode::PullRetryImmediately => Some(response),
_ => None,

Check warning on line 181 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L178-L181

Added lines #L178 - L181 were not covered by tests
}
}
}

impl DefaultPullMessageResultHandler {
fn read_get_message_result(

Check warning on line 187 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L187

Added line #L187 was not covered by tests
&self,
get_message_result: &GetMessageResult,
_group: &str,
_topic: &str,
_queue_id: i32,
) -> Option<Bytes> {
let mut bytes_mut =
BytesMut::with_capacity(get_message_result.buffer_total_size() as usize);
for msg in get_message_result.message_mapped_list() {
let data = &msg.mapped_file.as_ref().unwrap().get_mapped_file()
[msg.start_offset as usize..(msg.start_offset + msg.size as u64) as usize];
bytes_mut.extend_from_slice(data);

Check warning on line 199 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L194-L199

Added lines #L194 - L199 were not covered by tests
}
Some(bytes_mut.freeze())
}

Check warning on line 202 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L201-L202

Added lines #L201 - L202 were not covered by tests

fn execute_consume_message_hook_before(
&self,
request: &RemotingCommand,
Expand Down Expand Up @@ -306,4 +395,86 @@
}
response.set_command_custom_header_ref(response_header)
}

fn try_commit_offset(

Check warning on line 399 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L399

Added line #L399 was not covered by tests
&self,
broker_allow_suspend: bool,
request_header: &PullMessageRequestHeader,
next_offset: i64,
client_address: SocketAddr,
) {
self.consumer_offset_manager.commit_pull_offset(

Check warning on line 406 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L406

Added line #L406 was not covered by tests
client_address,
request_header.consumer_group.as_str(),
request_header.topic.as_str(),
request_header.queue_id.unwrap(),

Check warning on line 410 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L408-L410

Added lines #L408 - L410 were not covered by tests
next_offset,
);

let mut store_offset_enable = broker_allow_suspend;

Check warning on line 414 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L414

Added line #L414 was not covered by tests
let has_commit_offset_flag =
PullSysFlag::has_commit_offset_flag(request_header.sys_flag as u32);
store_offset_enable = store_offset_enable && has_commit_offset_flag;
if store_offset_enable {
self.consumer_offset_manager.commit_offset(

Check warning on line 419 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L416-L419

Added lines #L416 - L419 were not covered by tests
client_address,
request_header.consumer_group.as_str(),
request_header.topic.as_str(),
request_header.queue_id.unwrap(),
request_header.commit_offset,

Check warning on line 424 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L421-L424

Added lines #L421 - L424 were not covered by tests
);
}
}

Check warning on line 427 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L427

Added line #L427 was not covered by tests

fn update_broadcast_pulled_offset(

Check warning on line 429 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L429

Added line #L429 was not covered by tests
&self,
topic: &str,
group: &str,
queue_id: i32,
request_header: &PullMessageRequestHeader,
channel: &Channel,
response: Option<&RemotingCommand>,
next_begin_offset: i64,
) {
if response.is_none() || !self.broker_config.enable_broadcast_offset_store {

Check warning on line 439 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L439

Added line #L439 was not covered by tests
return;
}
let proxy_pull_broadcast =
request_header.request_source == Some(RequestSource::ProxyForBroadcast.get_value());
let consumer_group_info = self.consumer_manager.get_consumer_group_info(group);

Check warning on line 444 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L443-L444

Added lines #L443 - L444 were not covered by tests

if is_broadcast(proxy_pull_broadcast, consumer_group_info.as_ref()) {
let mut offset = request_header.queue_offset;
if let Some(response) = response {
if ResponseCode::from(response.code()) == ResponseCode::PullOffsetMoved {
offset = next_begin_offset;

Check warning on line 450 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L446-L450

Added lines #L446 - L450 were not covered by tests
}
}

let client_id = if proxy_pull_broadcast {
request_header

Check warning on line 455 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L454-L455

Added lines #L454 - L455 were not covered by tests
.proxy_forward_client_id
.clone()
.unwrap_or_default()
} else if let Some(ref consumer_group_info) = consumer_group_info {
if let Some(ref client_channel_info) =
consumer_group_info.find_channel_by_channel(channel)

Check warning on line 461 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L459-L461

Added lines #L459 - L461 were not covered by tests
{
client_channel_info.client_id().clone()

Check warning on line 463 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L463

Added line #L463 was not covered by tests
} else {
return;
}
} else {

Check warning on line 467 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L467

Added line #L467 was not covered by tests
return;
};
self.broadcast_offset_manager.update_offset(

Check warning on line 470 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L470

Added line #L470 was not covered by tests
topic,
group,
queue_id,
offset,
client_id.as_str(),

Check warning on line 475 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L474-L475

Added lines #L474 - L475 were not covered by tests
proxy_pull_broadcast,
);
}
}

Check warning on line 479 in rocketmq-broker/src/processor/default_pull_message_result_handler.rs

View check run for this annotation

Codecov / codecov/patch

rocketmq-broker/src/processor/default_pull_message_result_handler.rs#L478-L479

Added lines #L478 - L479 were not covered by tests
}
Loading
Loading