From 794a7993cb2bebfff6ae7209348f6e1e0f968e57 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Mon, 5 Feb 2024 21:44:40 -0800 Subject: [PATCH] calculate correct quorum check for metadata updates on object (#18979) this fixes rare bugs we have seen but never really found a reproducer for - PutObjectRetention() returning 503s - PutObjectTags() returning 503s - PutObjectMetadata() updates during replication returning 503s These calls return errors, and this perpetuates with no apparent fix. This PR fixes with correct quorum requirement. --- cmd/erasure-object.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/erasure-object.go b/cmd/erasure-object.go index b5ad5c517..36e8b349c 100644 --- a/cmd/erasure-object.go +++ b/cmd/erasure-object.go @@ -2171,7 +2171,7 @@ func (er erasureObjects) updateObjectMetaWithOpts(ctx context.Context, bucket, o // Wait for all the routines. mErrs := g.Wait() - return reduceWriteQuorumErrs(ctx, mErrs, objectOpIgnoredErrs, er.defaultWQuorum()) + return reduceWriteQuorumErrs(ctx, mErrs, objectOpIgnoredErrs, fi.WriteQuorum(er.defaultWQuorum())) } // updateObjectMeta will update the metadata of a file.