fix(object): stop update volume meta info when vol is deleted #22861848

Signed-off-by: clinx <chenlin1@oppo.com>
This commit is contained in:
clinx 2025-02-07 15:47:54 +08:00 committed by zhumingze1108
parent 82ffd69b6b
commit 0d875b0a33

View File

@ -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 {