From d3458d101049bd4c9664e39aa7e61719d0752cd4 Mon Sep 17 00:00:00 2001 From: Johnny Liu Date: Tue, 23 Dec 2025 19:20:20 +0800 Subject: [PATCH] remove duplidated events before processing lease intervals --- .../operatorloganalyzer/operator_lease_check.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/monitortests/testframework/operatorloganalyzer/operator_lease_check.go b/pkg/monitortests/testframework/operatorloganalyzer/operator_lease_check.go index 9bf5f7f1d36a..f725b1574602 100644 --- a/pkg/monitortests/testframework/operatorloganalyzer/operator_lease_check.go +++ b/pkg/monitortests/testframework/operatorloganalyzer/operator_lease_check.go @@ -46,9 +46,20 @@ func (*operatorLeaseCheck) ConstructComputedIntervals(ctx context.Context, start }) sort.Sort(byLeaseAcquisition(leaseIntervals)) + // Deduplicate intervals before processing + dedupedLeaseIntervals := []monitorapi.Interval{} + seen := map[string]bool{} + for _, interval := range leaseIntervals { + key := fmt.Sprintf("%v|%v|%v", interval.Locator.OldLocator(), interval.From.Unix(), interval.Message.Reason) + if !seen[key] { + seen[key] = true + dedupedLeaseIntervals = append(dedupedLeaseIntervals, interval) + } + } + podToLeaseIntervals := map[string][]monitorapi.Interval{} - for _, interval := range leaseIntervals { + for _, interval := range dedupedLeaseIntervals { podToLeaseIntervals[interval.Locator.OldLocator()] = append(podToLeaseIntervals[interval.Locator.OldLocator()], interval) }