From 0ca7838c07900c99a42c14f3f2df31af24f85b41 Mon Sep 17 00:00:00 2001 From: Marco De Luca Date: Thu, 12 Mar 2026 14:59:21 +0100 Subject: [PATCH] Fix race condition in initial-maintenance job creation --- .../functions/common/maintenance/maintenance.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/comp-functions/functions/common/maintenance/maintenance.go b/pkg/comp-functions/functions/common/maintenance/maintenance.go index 71d5d2e6bb..9406da5a12 100644 --- a/pkg/comp-functions/functions/common/maintenance/maintenance.go +++ b/pkg/comp-functions/functions/common/maintenance/maintenance.go @@ -160,6 +160,11 @@ func (m *Maintenance) Run(ctx context.Context) *xfnproto.Result { // Handle initial maintenance job // Keep the job in desired state until 30 minutes after completion if !m.resource.GetInitialMaintenanceRan() { + if m.resource.GetName() == "" { + log.Info("Composite resource not yet fully populated, deferring initial maintenance job") + return runtime.NewNormalResult("Composite resource not yet fully populated, deferring initial maintenance job") + } + // Job hasn't been created yet, create it if err := m.createInitialMaintenanceJob(ctx); err != nil { log.Error(err, "Failed to create initial maintenance job")