From 407a7636007a54ef6fe3d665ac5b819cf2fdafb4 Mon Sep 17 00:00:00 2001 From: xiejian Date: Wed, 4 Feb 2026 16:13:06 +0800 Subject: [PATCH] fix(proxy): set the correct number of volumes to buffer upon restart with: #1000705228 #1000420053 Signed-off-by: xiejian --- blobstore/proxy/allocator/retain_volume_task.go | 4 ++-- blobstore/proxy/allocator/volumemgr.go | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/blobstore/proxy/allocator/retain_volume_task.go b/blobstore/proxy/allocator/retain_volume_task.go index 25fc81727..957aee1d4 100644 --- a/blobstore/proxy/allocator/retain_volume_task.go +++ b/blobstore/proxy/allocator/retain_volume_task.go @@ -105,7 +105,7 @@ func (v *volumeMgr) handleFullVols(ctx context.Context, isBackup bool) { if len(fullVols) > 0 { for _, vid := range fullVols { info.Delete(vid) - span.Debugf("volume is full, vid: %v,codeMode: %v", vid, codeMode) + span.Infof("volume is full, vid: %v,codeMode: %v", vid, codeMode) } } } @@ -155,7 +155,7 @@ func (v *volumeMgr) discardVolume(ctx context.Context, token string, isBackup bo if err != nil { return } - span.Debugf("retain failed vid: %v", vid) + span.Infof("retain failed vid: %v", vid) for _, info := range v.modeInfos { if vol, ok := info.Get(vid, isBackup); ok { vol.mu.Lock() diff --git a/blobstore/proxy/allocator/volumemgr.go b/blobstore/proxy/allocator/volumemgr.go index 263da85f3..632cd1e40 100644 --- a/blobstore/proxy/allocator/volumemgr.go +++ b/blobstore/proxy/allocator/volumemgr.go @@ -177,6 +177,7 @@ func (m *modeInfo) getAvailableList(fsize int64, switchable bool) (vols []*volum tmp := m.current m.current = m.backup m.backup = tmp + log.Infof("switch current and backup, current total free: %d, total num: %d", totalFree, m.current.Len()) } if m.current.TotalFree() < fsize { m.lock.Unlock() @@ -600,6 +601,9 @@ func (v *volumeMgr) allocVolumeLoop(mode codemode.CodeMode) { } modeCfg := v.getCodeModeConfig(allocArg.CodeMode) for index, vol := range volumeRets { + if allocArg.IsInit && index >= 2*modeCfg.DefaultAllocVolsNum { + break + } allocVolInfo := &volume{ AllocVolumeInfo: vol, }