list: Fix rare listing continuation freeze (#19524)

Reading the list metacache is not protected by a lock; the code retries when it fails
to read the metacache object, however, it forgot to re-read the metacache object
from the drives, which is necessary, especially if the metacache object is inlined.

This commit will ensure that we always re-read the metacache object from the drives
when it is retrying.
This commit is contained in:
Anis Eleuch
2024-04-18 05:42:11 +01:00
committed by GitHub
parent ca5fab8656
commit dfc112c06b

View File

@@ -573,6 +573,7 @@ func (er *erasureObjects) streamMetadataParts(ctx context.Context, o listPathOpt
continue
case InsufficientReadQuorum:
retries++
loadedPart = -1
time.Sleep(retryDelay250)
continue
default: