commit | b66414979781efc00889800ae83b2c478de7abf2 | [log] [tgz] |
---|---|---|
author | Jacek Centkowski <geminica.programs@gmail.com> | Mon Jul 25 08:02:12 2022 +0200 |
committer | Jacek Centkowski <geminica.programs@gmail.com> | Fri Aug 12 18:53:38 2022 +0200 |
tree | 891e7fbcadb113cd2fe9fd27c3fcc07ba6cb713d | |
parent | f2d0c6c95aec0decf1aa0abedc9549e40ea30114 [diff] |
Use static, per-thread buffers for (de)serialization Notes: * TimedValue was turned to mutable object to leverage on re-suing objects and furthere reduce the memory footprint (see [1]) * serialization of 'created' and 'length' happens through bytes array ('out.write(buffer.array());') therefore deserialization has to be performed in the same way and per-thread read/write buffer (which is bytes array) was added [1] Read interface documentation excerpt: (...) should attempt to reuse the given using object, i. e. to read the deserialized data into the given object. If it is possible, this object then returned from this method back. If it is impossible for any reason, a new object should be created and returned (...) Change-Id: I89871476f8186d4f5d2bceef34276b4f5756b181
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
For further information and supported options, refer to config documentation.
You can check how to migrate from H2 to chronicle-map here.