lib/storage: remove ForceMergeAllParts internal loop (#4999)

Signed-off-by: faceair <git@faceair.me>
This commit is contained in:
faceair 2023-09-16 01:04:54 +08:00 committed by Aliaksandr Valialkin
parent ba7892d1de
commit 2d3f09b6d9
No known key found for this signature in database
GPG key ID: A72BEC6CD3D0DED1

View file

@ -945,7 +945,7 @@ func (pt *partition) ForceMergeAllParts() error {
// Nothing to merge.
return nil
}
for {
// Check whether there is enough disk space for merging pws.
newPartSize := getPartsSize(pws)
maxOutBytes := fs.MustGetFreeSpace(pt.bigPartsPath)
@ -962,13 +962,9 @@ func (pt *partition) ForceMergeAllParts() error {
if err := pt.mergePartsOptimal(pws, pt.stopCh); err != nil {
return fmt.Errorf("cannot force merge %d parts from partition %q: %w", len(pws), pt.name, err)
}
pws = pt.getAllPartsForMerge()
if len(pws) <= 1 {
pt.releasePartsToMerge(pws)
return nil
}
}
}
var forceMergeLogger = logger.WithThrottler("forceMerge", time.Minute)