Cascade namespace changes to children and projects via siphon
Summary
- When a group is renamed, only its
siphon_namespacesrow gets updated. Child namespaces and projects are not touched, so their computedfull_pathin the knowledge graph stays stale until the next full re-index. - Adds
refresh_on_changeto the namespaces siphon config: when a namespace changes, siphon re-inserts child namespaces (viaparent_id) and child projects (vianamespace_id). - For deep hierarchies, the cascade propagates one level per consumer cycle — refreshed children trigger their own refresh, eventually reaching all descendants.
Companion to orbit/knowledge-graph!740 which computes full_path from the namespace hierarchy.
Related: gitlab-org/orbit/knowledge-graph#388
Test plan
-
Rename a parent group, verify child namespace rows get re-inserted with bumped
_siphon_replicated_at - Verify projects under the renamed group also get refreshed
Edited by Michael Angelo Rivera