From e2222890386dfec1fdf3501b22ba7d7c98bd960f Mon Sep 17 00:00:00 2001 From: congqixia Date: Fri, 15 Nov 2024 14:50:32 +0800 Subject: [PATCH] fix: [2.4] Store default value if `ErrKeyNotFound` is returned (#37691) (#37705) Cherry-pick from master pr: #37691 Related to #37690 Signed-off-by: Congqi Xia --- pkg/config/manager.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/config/manager.go b/pkg/config/manager.go index 5672042457..85e02c159f 100644 --- a/pkg/config/manager.go +++ b/pkg/config/manager.go @@ -119,7 +119,11 @@ func (m *Manager) CASCachedValue(key string, origin string, value interface{}) b m.cacheMutex.Lock() defer m.cacheMutex.Unlock() current, err := m.GetConfig(key) - if err != nil && !errors.Is(err, ErrKeyNotFound) { + if errors.Is(err, ErrKeyNotFound) { + m.configCache[key] = value + return true + } + if err != nil { return false } if current != origin {