bloom: healObject to mark a path dirty only for dangling objects (#15458)

The path is marked dirty automatically when healObject() is called, which is
wrong. HealObject() is called during self-healing and this will lead to
an increase in the false positive result of the bloom filter.

Also move NSUpdated() from renameData() and call it directly in
CompleteMultipart and PutObject, this is not a functional change but
it will make it less prone to errors in the future.
This commit is contained in:
Anis Elleuch
2022-08-03 00:57:39 +01:00
committed by GitHub
parent 026b87e39b
commit b3edb25377
4 changed files with 8 additions and 6 deletions
+2
View File
@@ -1159,6 +1159,8 @@ func (er erasureObjects) CompleteMultipartUpload(ctx context.Context, bucket str
return oi, toObjectErr(err, bucket, object)
}
defer NSUpdated(bucket, object)
// Check if there is any offline disk and add it to the MRF list
for _, disk := range onlineDisks {
if disk != nil && disk.IsOnline() {