From 0d875b0a33fd116704a632cc013b0dd56aa8aa94 Mon Sep 17 00:00:00 2001 From: clinx Date: Fri, 7 Feb 2025 15:47:54 +0800 Subject: [PATCH] fix(object): stop update volume meta info when vol is deleted #22861848 Signed-off-by: clinx --- objectnode/fs_volume.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/objectnode/fs_volume.go b/objectnode/fs_volume.go index 5b7bf1661..a67c79069 100644 --- a/objectnode/fs_volume.go +++ b/objectnode/fs_volume.go @@ -162,9 +162,7 @@ func (v *Volume) syncOSSMeta() { for { select { case <-v.ticker.C: - if v.loadOSSMeta() { - return - } + v.loadOSSMeta() case <-v.closeCh: return } @@ -172,9 +170,8 @@ func (v *Volume) syncOSSMeta() { } // update Volume meta info -func (v *Volume) loadOSSMeta() (deleted bool) { +func (v *Volume) loadOSSMeta() { var err error - defer func() { if err != nil { v.onAsyncTaskError.OnError(err) @@ -184,12 +181,14 @@ func (v *Volume) loadOSSMeta() (deleted bool) { volumeInfo, err := v.mc.AdminAPI().GetVolumeSimpleInfo(v.name) if err != nil { log.LogErrorf("loadOSSMeta: get volume info from master failed: volume(%s) err(%v)", v.name, err) + if strings.Contains(err.Error(), "vol not exists") { + err = syscall.ENOENT + } return } if volumeInfo.Status == 1 { - deleted = true - err = syscall.ENOENT log.LogWarnf("loadOSSMeta: volume has been deleted: volume(%s) status(%d)", v.name, volumeInfo.Status) + err = syscall.ENOENT return } @@ -217,7 +216,6 @@ func (v *Volume) loadOSSMeta() (deleted bool) { } v.metaLoader.storeObjectLock(objectlock) v.metaLoader.setSynced() - return } func (v *Volume) Name() string {