Introduce worker to make OKR progress rollups ASYNC
What does this MR do and why?
Introduce a worker to make progress rollups of OKRs asynchronous.
This logic is under a feature flag okr_automatic_rollups_async
and if this is enabled then rollups will be async else synchronous
Issue - #388394 (closed)
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
How to set up and validate locally
- Open rails console by running
bin/rails console
within GDK directory. - Enable the feature flag
:hierarchy_db_restrictions
on a project;Feature.enable(:hierarchy_db_restrictions)
. - Enable the feature flag
:okrs_mvc
on the same project;Feature.enable(:okrs_mvc)
. - Enable the feature flag
:okr_automatic_rollups
on the same project;Feature.enable(:okr_automatic_rollups)
-
- Enable the feature flag
:okr_automatic_rollups_async
on the same project;Feature.enable(:okr_automatic_rollups_async)
- Enable the feature flag
- Visit issues list page for the project by navigating to
http://gdk.test:3000/gitlab-org/gitlab-test/-/issues
. - Create an objective by clicking on dropdown button next to
New issue
and selectingNew objective
from the dropdown. - Once objective is created, click on it to visit its Work Item page, you should be able to see Tree View below the description.
- Use
Add
dropdown button create/add key results. 1.Try changing the progress for KR and you should see the progress updates rollup to all the parents. - Click on any KR to go to it's page and repeat the step
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Abhilash Kotte