Skip to content

Redis database maintainers, experts, professional support

Following on from this slack thread: https://gitlab.slack.com/archives/C3NBYFJ6N/p1574427596350800

At the moment, GitLab has a very good story around PostgreSQL database changes. We have an extensive set of documentation for engineers, a growing pool of database maintainers who engage in pre-merge code review, and have retained professional support for pre and post-merge activities.

For Redis, which is almost equally crucial for a functioning Gitlab instance, we have none of this. It's very hard for us to know where to go to ask questions about a feature that touches Redis, and decisions are often made from a position of relative ignorance about how it operates. @andrewn is known to have Redis knowledge, but I feel we can do much better if we set up a support structure for Redis, analogous to the one we have set up for postgres.

I think the recent Redis Rapid Actions (gitlab-com/www-gitlab-com#4747 (closed), gitlab-com/www-gitlab-com#570 (closed)) demonstrate the need we have for some people who have this as part of their skillsets.

As a first step, I'd love us to introduce a "Redis expert" or "Redis maintainer" tag on the team page to document who is able and willing to field questions about Redis, and to explicitly call out changes that touch Redis for review by one. I think I prefer the "maintainer" wording to "expert", but I know we've used both in the past.

We should write documentation around Redis best practices regarding our codebase, and patterns to adopt or avoid when using it for a feature. Performance considerations and how to ensure compatibility during upgrades are definitely topics we'd benefit from having some clear guidelines around, here.

A "redis" label and "redis maintainers" group following the "database" one would also be handy.

I expect we'll find that we're short on Redis maintainers, so we should train some up. I'd be happy to be a trainee in this area, and @fjsanpedro and @nicholasklick have also expressed interest. We might also consider retaining professional support in the same way as we do for postgres.

@andrewn asked if redis maintainers should be part of "application engineering" or "infrastructure". I think we'd benefit from having them from both, as I think we do with our current database maintainers.

@timzallmann - should this issue go to you? Should it be in a different issue tracker? This got a positive response in slack, but I'm not entirely certain how to convert it into concrete actions! WDYT?

cc @m_gill @gitlab-org/maintainers/rails-backend

Next Steps

  • Identify existing redis experts`
  • Establish guidelines and accompanying tutorials for dealing with Redis
  • Create a new "Trainee Redis Maintainer" template
  • Begin training engineers on those guidelines and tutorials, to ultimately become reviewers and maintainers
  • Add labels to the team page for those who are Redis reviewers/maintainers
  • Require a "Redis" review in the same fashion as the database if applicable
Edited by 🤖 GitLab Bot 🤖