diff --git a/workflow/sync/sync_manager.go b/workflow/sync/sync_manager.go index 64ae2db6b369..456e10bdf7d0 100644 --- a/workflow/sync/sync_manager.go +++ b/workflow/sync/sync_manager.go @@ -192,7 +192,9 @@ func (cm *Manager) Release(wf *wfv1.Workflow, nodeName string, syncRef *wfv1.Syn syncLockHolder.removeFromQueue(holderKey) log.Debugf("%s sync lock is released by %s", lockName.EncodeName(), holderKey) lockKey := lockName.EncodeName() - wf.Status.Synchronization.GetStatus(syncRef.GetType()).LockReleased(holderKey, lockKey) + if wf.Status.Synchronization != nil { + wf.Status.Synchronization.GetStatus(syncRef.GetType()).LockReleased(holderKey, lockKey) + } } }