You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by sz...@apache.org on 2023/01/03 05:54:24 UTC
[ratis] branch master updated: RATIS-1763. Purging logs in an ordered manner. (#801)
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 1b3c61d5d RATIS-1763. Purging logs in an ordered manner. (#801)
1b3c61d5d is described below
commit 1b3c61d5dbcdb2b1ac5fd49a624a6cb88ab04744
Author: William Song <48...@users.noreply.github.com>
AuthorDate: Tue Jan 3 13:54:18 2023 +0800
RATIS-1763. Purging logs in an ordered manner. (#801)
---
.../apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java
index ae1fac397..3f79e69db 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java
@@ -318,8 +318,8 @@ public class SegmentedRaftLogCache {
// to purge that.
int startIndex = (overlappedSegment.getEndIndex() == index) ?
segmentIndex : segmentIndex - 1;
- for (int i = startIndex; i >= 0; i--) {
- LogSegment segment = segments.remove(i);
+ for (int i = 0; i <= startIndex; i++) {
+ LogSegment segment = segments.remove(0); // must remove the first segment to avoid gaps.
sizeInBytes -= segment.getTotalFileSize();
list.add(SegmentFileInfo.newClosedSegmentFileInfo(segment));
}