Skip to content

Use consistent cache naming for set caches

Sean Arnold requested to merge sarnold-clear-set-cache-redis-keys into master

What does this MR do?

Issue: #331319 (closed)

Cache key naming

This changes the RepositorySetCache cache key naming scheme to add the cache:gitlab namespace to the front of the cache key.

This is in line with how other caches work & aims to keep our cache naming consistent and predictable, which make them easier to work with (such as clearing caches). Redis instances used by GitLab could in theory be used by other applications & so adding a cache:gitlab prefix to all caches make it clear what the cache is for.

Old key New key
branch_names:root/autodevops-deploy-test:21:set cache:gitlab:branch_names:root/autodevops-deploy-test:21:set

Improved usage of rake task

As a result of the naming change, the cache:clear:redis rake task is now more useful and will delete the RepositorySetCache entries which were previously unable to be deleted easily.

I've added a couple of tests to ensure test the caches expected to be cleared by the rake task.

Screenshots (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • 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 Sean Arnold

Merge request reports