diff --git a/model/cache.go b/model/cache.go index bda1ed57..2d1c36bf 100644 --- a/model/cache.go +++ b/model/cache.go @@ -84,9 +84,11 @@ func CacheGetRandomSatisfiedChannel(group string, model string, retry int) (*Cha if !common.MemoryCacheEnabled { return GetRandomSatisfiedChannel(group, model, retry) } + channelSyncLock.RLock() - defer channelSyncLock.RUnlock() channels := group2model2channels[group][model] + channelSyncLock.RUnlock() + if len(channels) == 0 { return nil, errors.New("channel not found") }