This is an automated email from the ASF dual-hosted git repository.
szetszwo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ratis.git
The following commit(s) were added to refs/heads/master by this push:
new 26c1f04cc RATIS-2177. Purge should delete segmentLog from small to
large according to logIndex (#1174)
26c1f04cc is described below
commit 26c1f04ccae5fd176b9f6071fe6be4b1604a05ef
Author: 133tosakarin <[email protected]>
AuthorDate: Sun Nov 10 10:17:29 2024 +0800
RATIS-2177. Purge should delete segmentLog from small to large according to
logIndex (#1174)
---
.../ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java
b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java
index a44be6ee5..98b20bade 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java
@@ -482,9 +482,10 @@ class SegmentedRaftLogWorker {
void execute() throws IOException {
if (segments.getToDelete() != null) {
try(UncheckedAutoCloseable ignored = raftLogMetrics.startPurgeTimer())
{
- for (SegmentFileInfo fileInfo : segments.getToDelete()) {
- final Path deleted =
FileUtils.deleteFile(fileInfo.getFile(storage));
- LOG.info("{}: Purged RaftLog segment: info={}, path={}", name,
fileInfo, deleted);
+ SegmentFileInfo[] toDeletes = segments.getToDelete();
+ for (int i = toDeletes.length - 1; i >= 0; i--) {
+ final Path deleted =
FileUtils.deleteFile(toDeletes[i].getFile(storage));
+ LOG.info("{}: Purged RaftLog segment: info={}, path={}", name,
toDeletes[i], deleted);
}
}
}