filer.sync: fix synchronization logic in active-active mode

fix https://github.com/seaweedfs/seaweedfs/issues/3328
This commit is contained in:
chrislu
2022-08-01 00:06:18 -07:00
parent 303bd067b5
commit 036566629a
2 changed files with 43 additions and 1 deletions

View File

@@ -114,9 +114,12 @@ func DoMinusChunksBySourceFileId(as, bs []*filer_pb.FileChunk) (delta []*filer_p
fileIds := make(map[string]bool)
for _, interval := range bs {
fileIds[interval.GetFileIdString()] = true
fileIds[interval.GetSourceFileId()] = true
}
for _, chunk := range as {
if _, found := fileIds[chunk.GetSourceFileId()]; !found {
_, sourceFileIdFound := fileIds[chunk.GetSourceFileId()]
_, fileIdFound := fileIds[chunk.GetFileId()]
if !sourceFileIdFound && !fileIdFound {
delta = append(delta, chunk)
}
}