Non-blocking and super-fast on-disk cache libModule for Gerrit Code Review based on ChronicleMap on-disk implementation.
This libModule is built like a Gerrit in-tree plugin, using Bazelisk. See the build instructions for more details.
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
Note that in order to run on JDK 17 (or newer) the following parameters needs to be added to $GERRIT_SITE/etc/gerrit.config
:
[container] javaOptions = --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED javaOptions = --add-exports=java.base/sun.nio.ch=ALL-UNNAMED javaOptions = --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED javaOptions = --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED javaOptions = --add-opens=jdk.compiler/com.sun.tools.javac=ALL-UNNAMED javaOptions = --add-opens=java.base/java.lang=ALL-UNNAMED javaOptions = --add-opens=java.base/java.lang.reflect=ALL-UNNAMED javaOptions = --add-opens=java.base/java.io=ALL-UNNAMED javaOptions = --add-opens=java.base/java.util=ALL-UNNAMED
For further information and supported options, refer to config documentation.
You can check how to migrate from H2 to chronicle-map here.