Skip to content

Deprecate Praefect's reconcile sub-command

Sami Hiltunen requested to merge smh-deprecate-reconciler into master

What does this MR do?

This MR deprecates Praefect's reconcile sub-command as it is no longer needed.

Praefect's reconcile sub-command was historically the only way to reconcile repositories between the Gitaly storages in the cluster. Since then, Praefect has gained an automatic reconciler. The automatic reconciler has multiple benefits compared to the manual one:

  1. It's automatic and needs no intervention from the administrator.
  2. The automatic reconcile takes more considerations, including not scheduling redundant jobs, making sure the source replica of a job is not pending deletion.
  3. The manual reconciler does not adjust for repository-specific primary nodes nor for variable replication factor. It will mirror a whole storage always, which makes it inflexible.
  4. The automatic reconciler performs better due to walking database records rather than the repositories on the disk.

Given the above, these days there's no reason to run the manual reconciler. Any replication jobs it schedules that the automatic reconciler would not schedule are dropped by Praefect due to various checks like downgrade protection. Let's deprecate the reconcile sub-command in 13.12 as it is no longer needed.

Related issues

gitaly#3574 (closed)

Author's checklist (required)

Do not add the feature, frontend, backend, ~"bug", or database labels if you are only updating documentation. These labels will cause the MR to be added to code verification QA issues.

When applicable:

Review checklist

All reviewers can help ensure accuracy, clarity, completeness, and adherence to the Documentation Guidelines and Style Guide.

1. Primary Reviewer

  • Review by a code reviewer or other selected colleague to confirm accuracy, clarity, and completeness. This can be skipped for minor fixes without substantive content changes.

2. Technical Writer

  • Technical writer review. If not requested for this MR, must be scheduled post-merge. To request for this MR, assign the writer listed for the applicable DevOps stage.

For more information about labels, see Technical Writing workflows - Labels.

For suggestions that you are confident don't need to be reviewed, change them locally and push a commit directly to save others from unneeded reviews. For example:

  • Clear typos, like this is a typpo.
  • Minor issues, like single quotes instead of double quotes, Oxford commas, and periods.

For more information, see our documentation on Merging a merge request.

3. Maintainer

  1. Review by assigned maintainer, who can always request/require the above reviews. Maintainer's review can occur before or after a technical writer review.
  2. Ensure a release milestone is set.
  3. If there has not been a technical writer review, create an issue for one using the Doc Review template.
Edited by Sami Hiltunen

Merge request reports

Loading