Adjust cache-chroniclemap to new metric sanitization scheme

Gerrit's I6a5366fa0f1f change improved metrics name sanitization to
avoid collisions.

Introduce CacheNameSanitizer to:
* keep the backward compatibitlity with the oridinary cache names e.g.
  `diff_summary` stays `diff_summary`
* all the other cases are sanitized according to metrics sanitization
  rules e.g. `very+confusing.cache#name` becomes
  `very_0x2B_confusing_0x2E_cache_0x23_name`

Tests were adjusted to new sanitization rules.

Bug: Issue 307357257
Change-Id: I59732013baa1abcbfba1536c7b45d158eb746bc8
6 files changed
tree: 5458179a3198672b57ac4b5cd98d9823ab40606c
  1. src/
  2. .gitignore
  3. BUILD
  4. external_plugin_deps.bzl
  5. Jenkinsfile
  6. LICENSE
  7. README.md
README.md

Persistent cache for Gerrit, based on ChronicleMap

Non-blocking and super-fast on-disk cache libModule for Gerrit Code Review based on ChronicleMap on-disk implementation.

How to build

This libModule is built like a Gerrit in-tree plugin, using Bazelisk. See the build instructions for more details.

Setup

  • Install cache-chronicalmap module

Install the chronicle-map module into the $GERRIT_SITE/lib directory.

Add the cache-chroniclemap module to $GERRIT_SITE/etc/gerrit.config as follows:

[gerrit]
  installModule = com.googlesource.gerrit.modules.cache.chroniclemap.ChronicleMapCacheModule

For further information and supported options, refer to config documentation.

Migration from H2 caches

You can check how to migrate from H2 to chronicle-map here.