Add Feature Flag Override Toggle
What does this MR do?
- Implement the backend for the feature flag override toggle.
- Remove the frontend feature flag and enable the feature.
Issue: #13416 (closed)
Screenshots
Index Page:
Edit Page:
Migration Details
There are about 550
rows in the operations_feature_flags
table on production.
This migration is expected to update 37
of them.
gitlabhq_production=> SELECT COUNT(id) FROM operations_feature_flags;
count
-------
550
(1 row)
gitlabhq_production=> SELECT COUNT(id) FROM operations_feature_flags WHERE active = false;
count
-------
37
(1 row)
gitlabhq_production=>
The migration gives the following results in #database-lab
:
EXPLAIN UPDATE “operations_feature_flags” SET “active” = TRUE WHERE “operations_feature_flags”.“active” = FALSE
ModifyTable on public.operations_feature_flags (cost=0.00..33.71 rows=38 width=68) (actual time=16.250..16.250 rows=0 loops=1)
Buffers: shared hit=347 read=22 dirtied=11
I/O Timings: read=15.225
-> Seq Scan on public.operations_feature_flags (cost=0.00..33.71 rows=38 width=68) (actual time=2.444..7.342 rows=37 loops=1)
Filter: (NOT operations_feature_flags.active)
Rows Removed by Filter: 534
Buffers: shared hit=1 read=6
I/O Timings: read=7.219
Time: 16.856 ms
- planning: 0.518 ms
- execution: 16.338 ms
- I/O read: 15.225 ms
- I/O write: 0.000 ms
Shared buffers:
- hits: 347 (~2.70 MiB) from the buffer pool
- reads: 22 (~176.00 KiB) from the OS file cache, including disk I/O
- dirtied: 11 (~88.00 KiB)
- writes: 0
This migration cannot be reversed. It updates all the false
values of active
to true
. Once complete, there is no way to determine which true
values were originally false
.
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides - [-] Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. - [-] Tested in all supported browsers
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by Mayra Cabrera