Skip to content

Conversation

@dmonzonis
Copy link
Contributor

Before the introduction of (a)sync managers, when a tracker was collected the linking back to its affects was done sequentially, but now it is done in two separate async tasks. In the first task the tracker is left orphaned, and the linking task is scheduled, but until it is picked up by celery and processed, the user may see that some trackers have temporarily disappeared from the flaw/affect.

This commit fixes this by doing the process of downloading and linking the tracker in one single task, removing the necessity for separate sync managers for the linking process.

Closes OSIDB-4069.

@dmonzonis dmonzonis self-assigned this Oct 24, 2025
Before the introduction of (a)sync managers, when a tracker was
collected the linking back to its affects was done sequentially, but now
it is done in two separate async tasks. In the first task the tracker is
left orphaned, and the linking task is scheduled, but until it is picked
up by celery and processed, the user may see that some trackers have
temporarily disappeared from the flaw/affect.

This commit fixes this by doing the process of downloading and linking
the tracker in one single task, removing the necessity for separate sync
managers for the linking process.

Closes OSIDB-4069.
@dmonzonis dmonzonis force-pushed the tracker-unlinking-delay branch from d07687a to 2657872 Compare October 24, 2025 11:58
@dmonzonis dmonzonis requested a review from a team October 24, 2025 14:34
Copy link
Contributor

@Elkasitu Elkasitu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I'd just make sure the rest of the team is on the same page, I think the reason for it being separate tasks is due to historical reasons, mostly OSIDB not being the source of truth and needing to link trackers that may have been created through other tooling

@JakubFrejlach
Copy link
Contributor

JakubFrejlach commented Oct 29, 2025

I remember the split (download/link) was done on purpose by @skontar when sync managers were introduced back then. By doing this we are kinda losing the granularity for monitoring for downloading and linking issues. Also now whenever the link will fail for whatever reason and will be later rescheduled, it will redundantly download stuff from Jira.

Maybe we could just retain the affects on download instead of always wiping them and let the linking do the job? tracker.affects.clear() is called in the linking anyway so it will eventually wipe the affects and add the newly linked ones.

I don't want to block anything so if the team decision is this way, I am ok with that.

Base automatically changed from affects-v2 to master October 30, 2025 11:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants