Corrective actions to reintroduce 77498
The initial MR has a migration, because of that we'll want to make sure we guard the migration, so we don't try and migrate the same field again.
Required
-
Refresh/Bust cache before un-reverting initial root cause MR (I believe this is solved by !81413 (merged)) -
Ensure we guard the migration to not add the column in the MR twice (as suggested) (could be added to !81232 (merged)) -
un-revert initial root cause MR (!81232 (merged)) -
Hide the new code in model layer behind FF (could be added to !81232 (merged)) -
Update cacheing documentation to warn of this possibility (!81375 (merged)) -
Backfill staging data (#353527 (closed))
Optional
-
Create a "dispensable_render" which fails gracefully and logs an error if a non-essential partial fails during render (as suggested: https://gitlab.com/gitlab-org/gitlab/-/issues/353188#note_849876258) -
Add an ActiveRecord::JsonCacheobject that focuses on column_names, and possibly uses a SHA as suggested here -
Add attribute default value for new table columns in Rails model to potentially prevent getting nilvalue for new column when accessing cached records -
Check MR checklists to see if it suggests (both self-review and reviewer) to check that all critical new code paths are behind a feature flag
Edited by Eugie Limpin