Skip to content

Commit 26c1f04

Browse files
authored
RATIS-2177. Purge should delete segmentLog from small to large according to logIndex (#1174)
1 parent e75a0d5 commit 26c1f04

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -482,9 +482,10 @@ private PurgeLog(TruncationSegments segments) {
482482
void execute() throws IOException {
483483
if (segments.getToDelete() != null) {
484484
try(UncheckedAutoCloseable ignored = raftLogMetrics.startPurgeTimer()) {
485-
for (SegmentFileInfo fileInfo : segments.getToDelete()) {
486-
final Path deleted = FileUtils.deleteFile(fileInfo.getFile(storage));
487-
LOG.info("{}: Purged RaftLog segment: info={}, path={}", name, fileInfo, deleted);
485+
SegmentFileInfo[] toDeletes = segments.getToDelete();
486+
for (int i = toDeletes.length - 1; i >= 0; i--) {
487+
final Path deleted = FileUtils.deleteFile(toDeletes[i].getFile(storage));
488+
LOG.info("{}: Purged RaftLog segment: info={}, path={}", name, toDeletes[i], deleted);
488489
}
489490
}
490491
}

0 commit comments

Comments
 (0)