fix when two consecutive chunks with the same modified_ts_ns

fix https://github.com/seaweedfs/seaweedfs/issues/5276
This commit is contained in:
Chris Lu 2024-02-04 09:22:24 -08:00
parent 0b49c16361
commit 56df44845f
2 changed files with 17 additions and 2 deletions

View File

@ -38,10 +38,10 @@ func readResolvedChunks(chunks []*filer_pb.FileChunk, startOffset int64, stopOff
return int(a.ts - b.ts)
}
if a.isStart {
return -1
return 1
}
if b.isStart {
return 1
return -1
}
return 0
})

View File

@ -553,3 +553,18 @@ func TestViewFromVisibleIntervals3(t *testing.T) {
}
}
func TestCompactFileChunks3(t *testing.T) {
chunks := []*filer_pb.FileChunk{
{Offset: 0, Size: 100, FileId: "abc", ModifiedTsNs: 50},
{Offset: 100, Size: 100, FileId: "ghi", ModifiedTsNs: 50},
{Offset: 200, Size: 100, FileId: "jkl", ModifiedTsNs: 100},
{Offset: 300, Size: 100, FileId: "def", ModifiedTsNs: 200},
}
compacted, _ := CompactFileChunks(nil, chunks)
if len(compacted) != 4 {
t.Fatalf("unexpected compacted: %d", len(compacted))
}
}