From 4952bdb77035e8142b2f0fc5b86181aeb1d3e82e Mon Sep 17 00:00:00 2001 From: Poorna Date: Tue, 14 Jan 2025 11:53:02 -0800 Subject: [PATCH] decom: avoid skipping single delete markers for replication (#20836) It is possible delete marker was received on old pool as decom move in progress, this PR allows decom retry to ensure these delete markers are moved to new pool so that decommission can be completed. Fixes #20819 --- cmd/erasure-server-pool-decom.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/erasure-server-pool-decom.go b/cmd/erasure-server-pool-decom.go index fda8401c6..418f2570d 100644 --- a/cmd/erasure-server-pool-decom.go +++ b/cmd/erasure-server-pool-decom.go @@ -845,7 +845,7 @@ func (z *erasureServerPools) decommissionPool(ctx context.Context, idx int, pool // to decommission, just skip it, this also includes // any other versions that have already expired. remainingVersions := len(fivs.Versions) - expired - if version.Deleted && remainingVersions == 1 { + if version.Deleted && remainingVersions == 1 && rcfg == nil { decommissioned++ stopFn(version.Size, errors.New("DELETE marked object with no other non-current versions will be skipped")) continue