Skip to content

Conversation

@MoralCode
Copy link
Contributor

Description
While I haven't been certain that I can see the facade recollection issue locally, this change allowed me to successfully find facade_task_success_util via a flower task search in my local instance, meaning the tasks that were not running are now running again,

The thing that helped me get through this issue was this analysis from GPT5:

I traced the facade orchestration. The issue is how the facade phase is chained: your facade_phase returns a chain that ends with a group, and then the outer routine chains the “success” util after that. In Celery, when you want to run something after a group completes, you must form a chord (e.g., group(...) | next_task). A nested chain that returns only a group won’t implicitly convert to a chord, so the subsequent facade_task_success_util never fires.

Notes for Reviewers
In doing this refactor, I didnt see any other uses of facade_phase besides in build_facade_repo_collect_request, so it doesnt seem like the specific return type here is being super heavily relied on (although maybe thats due to an unwritten convention as noted in #3272)

Signed commits

  • Yes, I signed my commits.

@MoralCode MoralCode requested a review from Ulincsys September 15, 2025 21:28

logger.info(f"Facade sequence: {facade_sequence}")
return chain(*facade_sequence)
return facade_sequence[0]
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a particular reason to keep the list if we are just going to peek the first item from it on return?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i only did this to preserve the log statement. i guess if the print statement can handle the list of objects just fine, it should be fine to just throw the object at it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

thanks for calling me out on my addition of tech debt lol - this probably isnt necessary, i think i was just like "eh whatever it works" when i wrote it and forgot to revisit

@MoralCode
Copy link
Contributor Author

oh fun, i guess one of my rebases or amends must have stripped out the DCO...

…roperly convert things into a chord

Signed-off-by: Adrian Edwards <adredwar@redhat.com>
Copy link
Member

@sgoggins sgoggins left a comment

Choose a reason for hiding this comment

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

This is looking useful!!!

@sgoggins sgoggins merged commit a329409 into chaoss:main Sep 16, 2025
10 checks passed
@MoralCode MoralCode deleted the feature/facade-wtf branch September 16, 2025 16:44
@sgoggins sgoggins added the bug-fix Fixes a bug label Sep 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug-fix Fixes a bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Facade: Once repo is successfully collected on its not being updated Analyze_commit_in_parallel lock out: 5 days and none completed

3 participants