Database Trainee Maintainer: Nicholas Klick

Basic Setup

Thank you for becoming a database trainee! Please work on the list below to complete your setup.

  • Change issue title to include your name: Database Trainee Maintainer: Your Name
  • Review general code review guidelines
  • Familiarize with database review process
  • Familiarize with migration helpers and review usage in existing migrations
  • Familiarize with best practices in database guides
  • Watch Optimising Rails Database Queries: Episode 1
  • Read Understanding EXPLAIN plans
  • Review how we use database instances restored from a backup for testing and make sure you're set up to execute pipelines (check README.md and reach out to @abrandl since this is currently subject to being changed)
  • Get yourself added to @gl-database group and respond to @-mentions to the group (reach out to any maintainer on the group to get added). You will get TODOs on gitlab.com for group mentions.
  • Make sure you have proper access to at least a read-only replica in staging and production
  • Indicate in data/team.yml your role as a database reviewer (example MR). Assign MR to your manager for merge.
  • Once you are comfortable as a reviewer add trainee_maintainer database to your role in data/team.yml. Trainee maintainers count as reviewers and are three times as likely to be picked as other reviewers
  • Send one MR to improve the review documentation

Note that approving and accepting merge requests is restricted to Database Maintainers only. As a reviewer, pass the MR to a maintainer for approval.

You're all set! Watch out for TODOs on GitLab.com.

Working towards becoming a maintainer

There is no checklist here, only guidelines. Remember that there is no specific timeline on this.

It is up to you to ensure that you are getting enough MRs to review, and of varied types. After you've added yourself as a Database Reviewer, you should already be receiving regular reviews from Reviewer Roulette. You could also seek out more reviews from your team, or on #backend/#database Slack channels.

Your reviews should aim to cover maintainer responsibilities as well as reviewer responsibilities. Your approval means you think it is ready to merge.

After each MR is merged or closed, add a discussion to this issue using this template:

### (Merge request title): (Merge request URL)

During review:

- (List anything of note, or a quick summary. "I suggested/identified/noted...")

Post-review:

- (List anything of note, or a quick summary. "I missed..." or "Merged as-is")

(Maintainer who reviewed this merge request) Please add feedback, and compare
this review to the average maintainer review.

Note: Do not include reviews of security MRs because review feedback might reveal security issue details.

When you're ready to make it official

When reviews have accumulated, and recent reviews consistently fulfill maintainer responsibilities, any maintainer can take the next step. The trainee should also feel free to discuss their progress with their manager or any maintainer at any time.

  1. Create a merge request for team page proposing yourself as a database maintainer.
  2. Get yourself added to @gitlab-org/maintainers/database group (this group is recognized in CODEOWNERS). Reach out to any existing maintainer.
  3. Keep reviewing, start merging 🤘

Where to go for questions?

Reach out to #database on Slack.

Edited Oct 30, 2019 by Nick Klick
Assignee Loading
Time tracking Loading