Skip to content

Ref arch docs: Do not disable auto-migration on praefect nodes

What does this MR do?

The instructions in 3k and higher reference architecture guides for use of Gitaly Cluster with Praefect service appears to carry config lines that disable all praefect auto migrations on all praefect hosts.

(The intention may have been to cover 2/3 praefect hosts, or non-praefect hosts, like the rails config lines?)

This appears unnecessary for a new install focused documentation, and also incorrect for Praefect, since it will refuse to start up due to missing relations in the database as a result of its initial migrations not running.

This change removes the lines that disable praefect auto migration from all Gitaly Cluster using reference architecture doc pages.

The original line was added via !58885 (merged)

Related issues

Customer ticket: https://gitlab.zendesk.com/agent/tickets/215559 (internal link)

Example error due to all praefect nodes disabling auto-migration when following the reference guide:

{
    "method": "POST",
    "path": "/-/projects",
    "format": "html",
    "controller": "ProjectsController",
    "action": "create",
    "status": 500,

    "exception.class": "ActionView::Template::Error",
    "exception.message": "2:accessor call: route repository accessor: consistent storages: query: pq: relation \"repositories\" does not exist.",
    "exception.backtrace": [
        "lib/gitlab/git/repository.rb:94:in `rescue in root_ref'",
        "lib/gitlab/git/repository.rb:89:in `root_ref'",
        "app/models/repository.rb:520:in `root_ref'",
        "lib/gitlab/safe_request_store.rb:12:in `fetch'",
        "app/models/repository.rb:649:in `head_commit'",
        "app/models/repository.rb:660:in `tree'",
        "app/models/repository.rb:1019:in `file_on_head'",
        "app/models/repository.rb:572:in `block in avatar'",
        "lib/gitlab/gitaly_client.rb:325:in `allow_n_plus_1_calls'",
        "app/models/repository.rb:571:in `avatar'",
        "app/models/project.rb:1447:in `avatar_in_git'",
        "app/models/project.rb:1451:in `avatar_url'",
        "app/models/concerns/avatarable.rb:31:in `avatar_url'",
        "app/helpers/page_layout_helper.rb:62:in `page_image'",
        "app/views/layouts/_head.html.haml:17",
        "app/views/layouts/application.html.haml:6",
        "app/controllers/application_controller.rb:128:in `render'",
        "app/controllers/projects_controller.rb:87:in `create'",
    ],

}

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 Harsh Chouraria

Merge request reports