Skip to content

Commit 5ed4341

Browse files
133tosakarinOneSizeFitsQuorum
authored andcommitted
RATIS-2177. Purge should delete segmentLog from small to large according to logIndex (#1174)
1 parent ebc9c3e commit 5ed4341

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
@@ -476,9 +476,10 @@ private PurgeLog(TruncationSegments segments) {
476476
void execute() throws IOException {
477477
if (segments.getToDelete() != null) {
478478
try(UncheckedAutoCloseable ignored = raftLogMetrics.startPurgeTimer()) {
479-
for (SegmentFileInfo fileInfo : segments.getToDelete()) {
480-
final Path deleted = FileUtils.deleteFile(fileInfo.getFile(storage));
481-
LOG.info("{}: Purged RaftLog segment: info={}, path={}", name, fileInfo, deleted);
479+
SegmentFileInfo[] toDeletes = segments.getToDelete();
480+
for (int i = toDeletes.length - 1; i >= 0; i--) {
481+
final Path deleted = FileUtils.deleteFile(toDeletes[i].getFile(storage));
482+
LOG.info("{}: Purged RaftLog segment: info={}, path={}", name, toDeletes[i], deleted);
482483
}
483484
}
484485
}

0 commit comments

Comments
 (0)