diff --git a/cmd/erasure-metadata-utils.go b/cmd/erasure-metadata-utils.go index c2f14594e..e82432bc3 100644 --- a/cmd/erasure-metadata-utils.go +++ b/cmd/erasure-metadata-utils.go @@ -23,7 +23,6 @@ import ( "fmt" "hash/crc32" "io" - "strings" "github.com/minio/minio/internal/logger" "github.com/minio/minio/internal/sync/errgroup" @@ -173,10 +172,8 @@ func readAllFileInfo(ctx context.Context, disks []StorageAPI, bucket, object, ve errFileVersionNotFound, errDiskNotFound, errUnformattedDisk, - } - if strings.HasPrefix(bucket, minioMetaBucket) { - // listing object might be truncated, ignore such errors from logging. - ignoredErrs = append(ignoredErrs, io.ErrUnexpectedEOF) + io.ErrUnexpectedEOF, // some times we would read without locks, ignore these errors + io.EOF, // some times we would read without locks, ignore these errors } errs := g.Wait() for index, err := range errs { diff --git a/cmd/erasure-object.go b/cmd/erasure-object.go index 50b865d0b..094cae7e9 100644 --- a/cmd/erasure-object.go +++ b/cmd/erasure-object.go @@ -552,6 +552,8 @@ func readAllXL(ctx context.Context, disks []StorageAPI, bucket, object string, r errVolumeNotFound, errFileVersionNotFound, errDiskNotFound, + io.ErrUnexpectedEOF, // some times we would read without locks, ignore these errors + io.EOF, // some times we would read without locks, ignore these errors } errs := g.Wait() @@ -559,13 +561,6 @@ func readAllXL(ctx context.Context, disks []StorageAPI, bucket, object string, r if err == nil { continue } - if bucket == minioMetaBucket { - // minioMetaBucket "reads" for .metacache are not written with O_SYNC - // so there is a potential for them to not fully committed to stable - // storage leading to unexpected EOFs. Allow these failures to - // be ignored since the caller already ignores them in streamMetadataParts() - ignoredErrs = append(ignoredErrs, io.ErrUnexpectedEOF, io.EOF) - } if !IsErr(err, ignoredErrs...) { logger.LogOnceIf(ctx, fmt.Errorf("Drive %s, path (%s/%s) returned an error (%w)", disks[index], bucket, object, err), diff --git a/cmd/erasure-server-pool.go b/cmd/erasure-server-pool.go index dfff693ba..f83bbf739 100644 --- a/cmd/erasure-server-pool.go +++ b/cmd/erasure-server-pool.go @@ -1307,7 +1307,7 @@ func (z *erasureServerPools) ListObjects(ctx context.Context, bucket, prefix, ma } opts.setBucketMeta(ctx) - if len(prefix) > 0 && maxKeys == 1 && delimiter == "" && marker == "" { + if len(prefix) > 0 && maxKeys == 1 && marker == "" { // Optimization for certain applications like // - Cohesity // - Actifio, Splunk etc.