Skip to content

Commit b7ac028

Browse files
authored
[ISSUE #2050]💫Implement PopBufferMergeService#is_ck_done_for_finish (#2051)
1 parent ce880f4 commit b7ac028

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

‎rocketmq-broker/src/processor/processor_service/pop_buffer_merge_service.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -417,8 +417,15 @@ impl<MS: MessageStore> PopBufferMergeService<MS> {
417417
}
418418

419419
fn is_ck_done_for_finish(&self, point_wrapper: &PopCheckPointWrapper) -> bool {
420-
// Implement the logic to check if the checkpoint is done for finish
421-
unimplemented!()
420+
let num = point_wrapper.get_ck().num;
421+
let bits = point_wrapper.get_bits().load(Ordering::Relaxed)
422+
^ point_wrapper.get_to_store_bits().load(Ordering::Relaxed);
423+
for i in 0..num {
424+
if DataConverter::get_bit(bits, i as usize) {
425+
return false;
426+
}
427+
}
428+
true
422429
}
423430

424431
async fn put_ck_to_store(&self, point_wrapper: &PopCheckPointWrapper, flag: bool) {

0 commit comments

Comments
 (0)