No Longer Send Legacy Feature Flags [RUN ALL RSPEC] [RUN AS-IF-FOSS]
What does this MR do?
Legacy feature flags have been deprecated for a while now. The beginning of the removal process is to stop sending them entirely.
This is gated behind 2 feature flags: remove_legacy_flags
and
remove_legacy_flags_override
.
The former is the "main gate" to disable sending legacy feature flags. The latter is an override control to enable for specific projects that have not completed their migration.
Queries
Selecting feature flags by version
https://postgres.ai/console/gitlab/gitlab-production-tunnel-pg12/sessions/4292/commands/14941
SELECT "operations_feature_flags".* FROM "operations_feature_flags" WHERE "operations_feature_flags"."project_id" = 2670515 AND "operations_feature_flags"."version" = 2
Index Scan using index_operations_feature_flags_on_project_id_and_iid on public.operations_feature_flags (cost=0.28..32.11 rows=20 width=81) (actual time=4.127..22.671 rows=25 loops=1)
Index Cond: (operations_feature_flags.project_id = 2670515)
Filter: (operations_feature_flags.version = 2)
Rows Removed by Filter: 0
Buffers: shared hit=3 read=21 dirtied=6
I/O Timings: read=21.123 write=0.000
Time: 23.909 ms
- planning: 1.177 ms
- execution: 22.732 ms
- I/O read: 21.123 ms
- I/O write: 0.000 ms
Shared buffers:
- hits: 3 (~24.00 KiB) from the buffer pool
- reads: 21 (~168.00 KiB) from the OS file cache, including disk I/O
- dirtied: 6 (~48.00 KiB)
- writes: 0
Does this MR meet the acceptance criteria?
Conformity
-
I have included a changelog entry, or it's not needed. (Does this MR need a changelog?) -
I have added/updated documentation, or it's not needed. (Is documentation required?) -
I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?) -
I have added information for database reviewers in the MR description, or it's not needed. (Does this MR have database related changes?) -
I have self-reviewed this MR per code review guidelines. -
This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) -
I have followed the style guides.
Availability and Testing
-
I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) -
I have tested this MR in all supported browsers, or it's not needed. -
I have informed the Infrastructure department of a default or new setting change per definition of done, or it's not needed.
For #254324 (closed)
Edited by Michał Zając