Skip to content

Draft: Add user_callouts to list of high-traffic tables

What does this MR do?

Add the user_callouts table to the list of high-traffic tables.

I’ve also taken the opportunity to alphabetize the user(s) section of high-traffic tables.

Reasoning

  • Currently the user_callouts tables has over 3.5 million rows
  • Read stats for the table for the last 12 hour period are 355.77
  • Current size is around 458MB

Additional Reasons

  • We plan to add a new text column, called callout_scope, which will increase the size of the table
    • The new text column will be used to scope the area of the application in which callouts should be or have been shown
    • As such, we will go from one row for each user & feature name combo to any number of rows with a possibly infinite number of such scopes
  • We plan to use the new column as part of an experiment to be able to manage callouts per Group that a user is an owner/admin of
  • We envision being able to scope other callouts by areas of the app, such as sidebar, admin area, projects, and specific DB records, as is the case we’re currently targeting

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Dallas Reedy

Merge request reports