From d8e05aca81541b2a9748ddf6de9af031280c3ee2 Mon Sep 17 00:00:00 2001 From: Anis Eleuch Date: Fri, 26 Apr 2024 20:52:52 +0100 Subject: [PATCH] heal/list: Fix rare incomplete listing with flaky internode connections (#19625) listPathRaw() counts errDiskNotFound as a valid error to indicate a listing stream end. However, storage.WalkDir() is allowed to return errDiskNotFound anytime since grid.ErrDisconnected is converted to errDiskNotFound. This affects fresh disk healing and should affect S3 listing as well. --- cmd/metacache-set.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmd/metacache-set.go b/cmd/metacache-set.go index 56ee5ce72..9c073e1c9 100644 --- a/cmd/metacache-set.go +++ b/cmd/metacache-set.go @@ -1095,8 +1095,7 @@ func listPathRaw(ctx context.Context, opts listPathRawOptions) (err error) { switch err.Error() { case errFileNotFound.Error(), errVolumeNotFound.Error(), - errUnformattedDisk.Error(), - errDiskNotFound.Error(): + errUnformattedDisk.Error(): atEOF++ fnf++ // This is a special case, to handle bucket does