Project

General

Profile

Actions

Bug #39327

open

Refresh RollingCV Repo task hangs when assigning multiple environments to RollingCV

Added by Matej Vyboh 2 months ago. Updated about 1 month ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Lifecycle Environments
Target version:
Difficulty:
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

If the RollingCV has multiple lifecycle environmnents, and you try to perform a sync on the repository included in RollingCV, there is a high chance that one of the Refresh RollingCV Repo tasks will hang, which will cause the repository to stay locked, thus unable to be interact with it, preventing future syncs and modifications to it. The task will remain in state: planned, with progress at 100%, and result pending (picture in attachments). In dynflow console everything appears completed, and the sync itself finishes, but prevents future syncs.

Resulting states:
plan.state :stopped, plan.result :success
task.state 'planned', task.result 'pending'

Working theory:
When a library source syncs and has multiple rolling clones across environments / Rolling CVs, RefreshRollingRepo is spawned once per clone in parallel. The clone-update path likely ends with a callback or event keyed on the shared root repo (Pulp publication regen? applicability? content count?). When N siblings try to deliver that event in parallel, only one’s wrapper-state-update completes cleanly; the others’ completion events get lost. Sources never wedge because they aren’t competing with siblings on shared state.

Current walkaround to the issue is assign RollingCV only to Library, which generates only one Refresh RollingCV Repo task.

Issue was also discussed on the Foreman forum:
https://community.theforeman.org/t/refresh-rollingcv-repo-task-hangs-causing-repos-to-not-up/46243


Files

hanged_task.png View hanged_task.png 21.2 KB picture of hanged task Matej Vyboh, 05/15/2026 09:30 AM
Actions

Also available in: Atom PDF