commit | 3ac95b7118e3044fca9862be960c70944ffe2e9a | [log] [tgz] |
---|---|---|
author | Antonio Barone <syntonyze@gmail.com> | Fri Nov 08 13:11:32 2024 +0100 |
committer | Antonio Barone <syntonyze@gmail.com> | Fri Nov 08 13:15:01 2024 +0100 |
tree | 1286550615d66f1cac9bc3ec053e34a2e84ab396 | |
parent | 8ef69d657911626eb4cecf9600f57b1bb3955fae [diff] |
Enable cache-chroniclemap to run on Java 21 With Chronicle 25, OpenHFT has introduced official support for Java 21, which we’re adopting here to allow cache-chroniclemap to run an a Gerrit 3.11 on Java 21[1]. Since Chronicle 24, OpenHFT has limited Maven Central to early access (ea) releases, with stable releases now exclusive to customers with a support agreement [2]. As a result, 3.23.5 is the latest stable release publicly available on Maven Central [3]. Per OpenHFT guidance [2]: ``` Many organizations use the ‘ea’ release in production, as this contains the latest functionality and fixes. ``` Following this recommendation, we’re updating to the latest ea release in the Chronicle 25 series, which is the earliest version to introduce Java 21 support. [1] https://chronicle.software/chronicle-25-whats-new-and-improved/ [2] https://github.com/OpenHFT/OpenHFT/blob/aa79b18031dbecfd6722aa285a495e87e2d016d5/docs/Version-Support.adoc#ea-early-access [3] https://mvnrepository.com/artifact/net.openhft/chronicle-map Bug: Issue 377724725 Change-Id: I40bcf7994798297ef371a1562ea4cd4df055901d
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.