@@ -208,15 +208,14 @@ impl TraceStore {
208208 // because those _can_ change).
209209 if self . pod_owners . has_pod ( ns_name) {
210210 self . pod_owners . update_pod_lifecycle ( ns_name, lifecycle_data) ?;
211- } else if let Some ( pod) = maybe_pod {
212- // Otherwise, we need to check if any of the pod's owners are tracked by us
213- let gvk = corev1:: Pod :: gvk ( ) ;
214- let owners = self
211+ } else if let Some ( pod) = maybe_pod
212+ && let Ok ( owners) = self
215213 . owners_cache
216214 . lock ( )
217215 . await
218- . lookup_by_name_or_obj ( & gvk, ns_name, maybe_pod. as_ref ( ) )
219- . await ?;
216+ . lookup_by_name_or_obj ( & corev1:: Pod :: gvk ( ) , ns_name, maybe_pod. as_ref ( ) )
217+ . await
218+ {
220219 for owner in owners {
221220 // Pods are guaranteed to have namespaces, so the unwrap is fine
222221 let owner_ns_name = format ! ( "{}/{}" , pod. namespace( ) . unwrap( ) , owner. name) ;
@@ -268,7 +267,12 @@ impl TraceStore {
268267 . lock ( )
269268 . await
270269 . lookup_by_name_or_obj ( gvk, ns_name, Some ( obj) )
271- . await ?;
270+ . await
271+ . unwrap_or_else ( |err| {
272+ error ! ( "could not determine owners for {}, disregarding: {err}" , format_gvk_name( gvk, ns_name) ) ;
273+ vec ! [ ]
274+ } ) ;
275+
272276 for owner in owners {
273277 // TODO right now we only look up _namespaced_ owners, not cluster-scoped; in
274278 // principle, it's possible to get the cluster-scoped owners, since the owner
0 commit comments