diff --git a/cmd/bucket-object-lock.go b/cmd/bucket-object-lock.go index 28aa8fb20..eb8b0daff 100644 --- a/cmd/bucket-object-lock.go +++ b/cmd/bucket-object-lock.go @@ -19,6 +19,7 @@ package cmd import ( "context" + "errors" "math" "net/http" @@ -46,11 +47,14 @@ func (sys *BucketObjectLockSys) Get(bucketName string) (r objectlock.Retention, config, _, err := globalBucketMetadataSys.GetObjectLockConfig(bucketName) if err != nil { - if _, ok := err.(BucketObjectLockConfigNotFound); ok { + if errors.Is(err, BucketObjectLockConfigNotFound{Bucket: bucketName}) { return r, nil } + if errors.Is(err, errInvalidArgument) { + return r, err + } + logger.CriticalIf(context.Background(), err) return r, err - } return config.ToRetention(), nil } diff --git a/cmd/bucket-replication.go b/cmd/bucket-replication.go index 578ba97d9..9ce885475 100644 --- a/cmd/bucket-replication.go +++ b/cmd/bucket-replication.go @@ -81,6 +81,12 @@ func getReplicationConfig(ctx context.Context, bucketName string) (rc *replicati } rCfg, _, err := globalBucketMetadataSys.GetReplicationConfig(ctx, bucketName) + if err != nil { + if errors.Is(err, BucketReplicationConfigNotFound{Bucket: bucketName}) || errors.Is(err, errInvalidArgument) { + return rCfg, err + } + logger.CriticalIf(ctx, err) + } return rCfg, err } @@ -2325,7 +2331,7 @@ func QueueReplicationHeal(ctx context.Context, bucket string, oi ObjectInfo) { if oi.VersionID == "" || oi.ModTime.IsZero() { return } - rcfg, _, _ := globalBucketMetadataSys.GetReplicationConfig(ctx, bucket) + rcfg, _ := getReplicationConfig(ctx, bucket) tgts, _ := globalBucketTargetSys.ListBucketTargets(ctx, bucket) queueReplicationHeal(ctx, bucket, oi, replicationConfig{ Config: rcfg,