From 0365c2ff2191b1781a323c25a1fb212aca3cf9b3 Mon Sep 17 00:00:00 2001 From: Tobias Trabelsi Date: Tue, 20 Jan 2026 22:07:21 +0100 Subject: [PATCH] debug(): compare resource versions --- internal/informer.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/internal/informer.go b/internal/informer.go index bd5c61e..cb3c998 100644 --- a/internal/informer.go +++ b/internal/informer.go @@ -26,9 +26,26 @@ func StartLeaseInformer(cfg *Config, stopCh <-chan struct{}) error { leaseInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{ AddFunc: func(obj interface{}) { + if l, ok := obj.(*v1.Lease); ok { + log.WithFields(log.Fields{"Caller": "lease.Add", "Lease": l.Name, "RV": l.ResourceVersion}).Debug("Add event for lease") + } handleLease(obj, cfg) }, UpdateFunc: func(oldObj, newObj interface{}) { + oldL, okOld := oldObj.(*v1.Lease) + newL, okNew := newObj.(*v1.Lease) + if okOld { + log.WithFields(log.Fields{"Caller": "lease.Update.old", "Lease": oldL.Name, "RV": oldL.ResourceVersion}).Debug("Old lease") + } + if okNew { + log.WithFields(log.Fields{"Caller": "lease.Update.new", "Lease": newL.Name, "RV": newL.ResourceVersion}).Debug("New lease") + } + // Only handle when resourceVersion changed (actual update), skip resync/identical events + if okOld && okNew { + if oldL.ResourceVersion == newL.ResourceVersion { + return + } + } handleLease(newObj, cfg) }, DeleteFunc: func(obj interface{}) {