Use wrapper to store cache key

Wrap cache key to abstract the actual serializer.
The serializer will be accessed at runtime by looking up the cache name.
This allows to change the name of the serializer as well as the
name of the serialized object without breaking the recovery phase of
the persisted cache.

Bug: Issue 14511
Change-Id: Iedf138be055f3a329d1f8866e4b2158fe4660cde
12 files changed
tree: 34fc4cd122b68da9bf9df8a4db209cea7e9b58be
  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.