Skip to content

Commit 397b6cd

Browse files
committed
pibd: fix check for next required kernel segment
1 parent 2ec7b4d commit 397b6cd

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

chain/src/txhashset/desegmenter.rs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,17 +1069,24 @@ impl Desegmenter {
10691069
)
10701070
};
10711071

1072-
// When resuming, we need to ensure we're getting the previous segment if needed
1073-
let theoretical_pmmr_size =
1074-
SegmentIdentifier::pmmr_size(cur_segment_count, self.default_kernel_segment_height);
1075-
if local_kernel_mmr_size < theoretical_pmmr_size {
1076-
cur_segment_count -= 1;
1077-
}
1078-
10791072
let total_segment_count = SegmentIdentifier::count_segments_required(
10801073
self.archive_header.kernel_mmr_size,
10811074
self.default_kernel_segment_height,
10821075
);
1076+
1077+
// When resuming, we need to ensure we're getting the previous segment if needed
1078+
if total_segment_count != cur_segment_count {
1079+
let theoretical_pmmr_size =
1080+
SegmentIdentifier::pmmr_size(cur_segment_count, self.default_kernel_segment_height);
1081+
if local_kernel_mmr_size < theoretical_pmmr_size {
1082+
debug!(
1083+
"theoretical_pmmr_size {} is bigger than the current mmr size {}",
1084+
theoretical_pmmr_size, local_kernel_mmr_size
1085+
);
1086+
cur_segment_count -= 1;
1087+
}
1088+
}
1089+
10831090
trace!(
10841091
"Next required kernel segment is {} of {}",
10851092
cur_segment_count,

0 commit comments

Comments
 (0)