Julian Sedding created OAK-12069:
------------------------------------
Summary: reduce SegmentPreloader memory usage
Key: OAK-12069
URL: https://issues.apache.org/jira/browse/OAK-12069
Project: Jackrabbit Oak
Issue Type: Improvement
Components: segment-tar
Reporter: Julian Sedding
Assignee: Julian Sedding
The {{SegmentPreloader}} builds a cache containing the segment graph of each
archive. For large segmentstores, this can consume a lot of memory.
An attempt to solve this by deduplicating in-memory UUIDs (OAK-12005),
leveraging the fact that all UUIDs are already in-memory due to the archive's
indexes being cached, proved too slow on large segmentstores to be practically
useful. Therefore, this change is reverted with OAK-12068.
Instead, the usage of the segment graphs in the {{SegmentPreloader}} will be
replaced by reading segment references directly from the segment-data. This
will cause more I/O in the form of additional reads from the
{{{}PersistentCache{}}}, however, these reads are not in the critical path and
should be fast (e.g. local disk). In comparison to remote segment loads, these
should have no significant impact.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)