Skip to content

[Group Hierarchy] Add group setting toggle

Apart from the feature flag, we need to restrict which group can use the group hierarchy optimization feature. We also need a place where we can create the Namespaces::Descendants records.

The optimization might not make sense for all namespaces in the system, so to save disk space, we enable the optimization selectively. For example, we can enable it for the gitlab-org group only...

Task: Introduce a new Group setting that creates/destroys the Namespace::Descendants record.

Add a new setting to the group UI which is only visible when the group_hierarchy_optimization (create the FF within this issue) feature flag is on. When the setting is toggled, instead of storing a boolean value, create the associated Namespaces::Descendants record (use the default values which will set the outdated value to false, on conflict do nothing).

When the setting is disabled, delete the associated Namespaces::Descendants record.

Setting location:

  • Permissions and group features > Add a new section: Performance > checkbox: enable group hierarchy optimization

Note: this setting will be probably temporary, the main reason for this setting is to be able to roll out the feature to a few selected groups.

Edited by Adam Hegyi