Skip to content

Write MergeRequest merge_status to MergeData

What does this MR do and why?

This MR introduces a data synchronisation of merge_status from merge_requests to merge_data as a part of the data extraction effort. It's behind a merge_requests_merge_data_dual_write feature flag. Initially, I was planning to do a bulk write to cover all columns via callback at once whenever update happens, but I now think it's more reusable to do it this way since we need to move these state machine logic to merge_data anyways.

We are setting the default merge_data attribute from merge_request attributes when merge_data method is called to begin with and we need to handle any updates to each columns separately. We'll turn on the FF once every update calls to these columns are covered.

FYI, Here are the columns that needs to be written to merge_data as well and they'll be worked on as follow ups.

  • merge_status - This MR
  • merge_params
  • merge_error
  • merge_user_id
  • merge_jid
  • merge_commit_sha
  • merged_commit_sha
  • merge_ref_sha
  • squash_commit_sha
  • in_progress_merge_commit_sha
  • merge_when_pipeline_succeeds
  • squash

References

#560933

Screenshots or screen recordings

Before After

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #560933

Edited by Sincheol (David) Kim

Merge request reports

Loading