diff --git a/staging/operator-lifecycle-manager/pkg/controller/registry/resolver/cache/cache.go b/staging/operator-lifecycle-manager/pkg/controller/registry/resolver/cache/cache.go index 1cc48d6ea6..854f025f47 100644 --- a/staging/operator-lifecycle-manager/pkg/controller/registry/resolver/cache/cache.go +++ b/staging/operator-lifecycle-manager/pkg/controller/registry/resolver/cache/cache.go @@ -336,7 +336,10 @@ func (hdr *snapshotHeader) Valid() bool { func (hdr *snapshotHeader) RequestSentinelActive() bool { hdr.m.RLock() defer hdr.m.RUnlock() - return time.Now().Before(hdr.requestSentinel) + if hdr != nil && time.Now().Before(hdr.requestSentinel) { + return true + } + return false } type sortableSnapshots struct { diff --git a/vendor/github.com/operator-framework/operator-lifecycle-manager/pkg/controller/registry/resolver/cache/cache.go b/vendor/github.com/operator-framework/operator-lifecycle-manager/pkg/controller/registry/resolver/cache/cache.go index 1cc48d6ea6..772231121d 100644 --- a/vendor/github.com/operator-framework/operator-lifecycle-manager/pkg/controller/registry/resolver/cache/cache.go +++ b/vendor/github.com/operator-framework/operator-lifecycle-manager/pkg/controller/registry/resolver/cache/cache.go @@ -170,7 +170,9 @@ func (c *Cache) Namespaced(namespaces ...string) MultiCatalogOperatorFinder { if snapshot.Valid() { result.snapshots[key] = snapshot } else { - misses = append(misses, key) + if !snapshot.RequestSentinelActive() { + misses = append(misses, key) + } } }() } @@ -336,7 +338,10 @@ func (hdr *snapshotHeader) Valid() bool { func (hdr *snapshotHeader) RequestSentinelActive() bool { hdr.m.RLock() defer hdr.m.RUnlock() - return time.Now().Before(hdr.requestSentinel) + if hdr != nil && time.Now().Before(hdr.requestSentinel) { + return true + } + return false } type sortableSnapshots struct {