diff --git a/pkg/reconciler/apiserversource/controller.go b/pkg/reconciler/apiserversource/controller.go index 00365393108..a367dfe8102 100644 --- a/pkg/reconciler/apiserversource/controller.go +++ b/pkg/reconciler/apiserversource/controller.go @@ -115,7 +115,11 @@ func NewController( r.sinkResolver = resolver.NewURIResolverFromTracker(ctx, impl.Tracker) - apiServerSourceInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + apiServerSourceInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }) deploymentInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{ FilterFunc: controller.FilterController(&v1.ApiServerSource{}), diff --git a/pkg/reconciler/broker/controller.go b/pkg/reconciler/broker/controller.go index 64bf96a3705..1fd5d0f4a50 100644 --- a/pkg/reconciler/broker/controller.go +++ b/pkg/reconciler/broker/controller.go @@ -115,7 +115,11 @@ func NewController( brokerInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{ FilterFunc: brokerFilter, - Handler: controller.HandleAll(impl.Enqueue), + Handler: cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }, }) // When the endpoints in our multi-tenant filter/ingress change, do a global resync. diff --git a/pkg/reconciler/broker/trigger/controller.go b/pkg/reconciler/broker/trigger/controller.go index af883b32aa9..8be1b217deb 100644 --- a/pkg/reconciler/broker/trigger/controller.go +++ b/pkg/reconciler/broker/trigger/controller.go @@ -95,7 +95,11 @@ func NewController( triggerInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{ FilterFunc: filterTriggers(featureStore, r.brokerLister), - Handler: controller.HandleAll(impl.Enqueue), + Handler: cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }, }) // Filter Brokers and enqueue associated Triggers diff --git a/pkg/reconciler/channel/controller.go b/pkg/reconciler/channel/controller.go index 0cb3272a2d6..724afdec7ad 100644 --- a/pkg/reconciler/channel/controller.go +++ b/pkg/reconciler/channel/controller.go @@ -19,6 +19,7 @@ package channel import ( "context" + "k8s.io/client-go/tools/cache" messagingv1 "knative.dev/eventing/pkg/apis/messaging/v1" "knative.dev/eventing/pkg/auth" @@ -73,7 +74,11 @@ func NewController( impl.GlobalResync(channelInformer.Informer()) } - channelInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + channelInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }) channelGK := messagingv1.SchemeGroupVersion.WithKind("Channel").GroupKind() diff --git a/pkg/reconciler/eventpolicy/controller.go b/pkg/reconciler/eventpolicy/controller.go index 2f562c7c8ab..1bbcfaf04ca 100644 --- a/pkg/reconciler/eventpolicy/controller.go +++ b/pkg/reconciler/eventpolicy/controller.go @@ -19,6 +19,7 @@ package eventpolicy import ( "context" + "k8s.io/client-go/tools/cache" "knative.dev/eventing/pkg/apis/feature" "knative.dev/pkg/logging" @@ -61,7 +62,11 @@ func NewController( } // Set up event handlers - eventPolicyInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + eventPolicyInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }) return impl } diff --git a/pkg/reconciler/eventtype/controller.go b/pkg/reconciler/eventtype/controller.go index c6bec1e476e..26049c5648e 100644 --- a/pkg/reconciler/eventtype/controller.go +++ b/pkg/reconciler/eventtype/controller.go @@ -19,6 +19,7 @@ package eventtype import ( "context" + "k8s.io/client-go/tools/cache" "knative.dev/eventing/pkg/resolver" "knative.dev/pkg/configmap" "knative.dev/pkg/controller" @@ -38,7 +39,11 @@ func NewController( r := &Reconciler{} impl := eventtypereconciler.NewImpl(ctx, r) - eventTypeInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + eventTypeInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }) // Tracker is used to notify us that a EventType's Broker has changed so that // we can reconcile. diff --git a/pkg/reconciler/inmemorychannel/controller/controller.go b/pkg/reconciler/inmemorychannel/controller/controller.go index 2ec7f738361..398040a7c86 100644 --- a/pkg/reconciler/inmemorychannel/controller/controller.go +++ b/pkg/reconciler/inmemorychannel/controller/controller.go @@ -111,7 +111,11 @@ func NewController( }) r.uriResolver = resolver.NewURIResolverFromTracker(ctx, impl.Tracker) - inmemorychannelInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + inmemorychannelInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }) // Set up watches for dispatcher resources we care about, since any changes to these // resources will affect our Channels. So, set up a watch here, that will cause diff --git a/pkg/reconciler/parallel/controller.go b/pkg/reconciler/parallel/controller.go index ddebfa6c4e8..62d13424c4e 100644 --- a/pkg/reconciler/parallel/controller.go +++ b/pkg/reconciler/parallel/controller.go @@ -71,7 +71,11 @@ func NewController( }) r.channelableTracker = duck.NewListableTrackerFromTracker(ctx, channelable.Get, impl.Tracker) - parallelInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + parallelInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }) // Register handler for Subscriptions that are owned by Parallel, so that // we get notified if they change. diff --git a/pkg/reconciler/pingsource/controller.go b/pkg/reconciler/pingsource/controller.go index 680f7aed6e8..d947ec91db3 100644 --- a/pkg/reconciler/pingsource/controller.go +++ b/pkg/reconciler/pingsource/controller.go @@ -99,7 +99,11 @@ func NewController( r.sinkResolver = resolver.NewURIResolver(ctx, cmw, impl.Tracker) - pingSourceInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + pingSourceInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }) // Tracker is used to notify us that the pingsource-mt-adapter Deployment has changed so that // we can reconcile PingSources that depend on it diff --git a/pkg/reconciler/sequence/controller.go b/pkg/reconciler/sequence/controller.go index 882199a6e86..6705ffcac3b 100644 --- a/pkg/reconciler/sequence/controller.go +++ b/pkg/reconciler/sequence/controller.go @@ -77,7 +77,11 @@ func NewController( } r.channelableTracker = duck.NewListableTrackerFromTracker(ctx, channelable.Get, impl.Tracker) - sequenceInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + sequenceInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }) // Register handler for Subscriptions that are owned by Sequence, so that // we get notified if they change. diff --git a/pkg/reconciler/sinkbinding/controller.go b/pkg/reconciler/sinkbinding/controller.go index ec38a88c626..2ac79c49e44 100644 --- a/pkg/reconciler/sinkbinding/controller.go +++ b/pkg/reconciler/sinkbinding/controller.go @@ -129,7 +129,11 @@ func NewController( impl.GlobalResync(sbInformer.Informer()) } - sbInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + sbInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }) namespaceInformer.Informer().AddEventHandler(controller.HandleAll(func(obj interface{}) { ns, err := kmeta.DeletionHandlingAccessor(obj) if err != nil { diff --git a/pkg/reconciler/subscription/controller.go b/pkg/reconciler/subscription/controller.go index 2ca936d189f..34610058b84 100644 --- a/pkg/reconciler/subscription/controller.go +++ b/pkg/reconciler/subscription/controller.go @@ -79,7 +79,11 @@ func NewController( impl.GlobalResync(subscriptionInformer.Informer()) } - subscriptionInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + subscriptionInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: impl.Enqueue, + UpdateFunc: controller.PassNew(impl.Enqueue), + DeleteFunc: impl.Tracker.OnDeletedObserver, + }) // Trackers used to notify us when the resources Subscription depends on change, so that the // Subscription needs to reconcile again.