blob: 6d9c0a4665b0435812b4affe96c17eccd4b58921 [file] [log] [blame] [view]
# DEPRECATION NOTICE
GerritForge has decided to [change the license to BSL](https://gitenterprise.me/2025/09/30/re-licensing-gerritforge-plugins-welcome-to-gerrit-enterprise/)
therefore the Apache 2.0 version of this plugin is deprecated.
The recommended version of the cache-chroniclemap plugin is on [GitHub](https://github.com/GerritForge/cache-chroniclemap)
and the development continues on [GerritHub.io](https://review.gerrithub.io/admin/repos/GerritForge/cache-chroniclemap,general).
# Persistent cache for Gerrit, based on ChronicleMap (DEPRECATED)
Non-blocking and super-fast on-disk cache libModule for [Gerrit Code Review](https://gerritcodereview.com)
based on [ChronicleMap on-disk implementation](https://github.com/OpenHFT/Chronicle-Map).
## How to build
This libModule is built like a Gerrit in-tree plugin, using Bazelisk. See the
[build instructions](src/main/resources/Documentation/build.md) 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
```
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](src/main/resources/Documentation/config.md)
documentation.
## Migration from H2 caches
You can check how to migrate from H2 to chronicle-map [here](src/main/resources/Documentation/migration.md).