[
https://issues.apache.org/jira/browse/OAK-2723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Dürig resolved OAK-2723.
--------------------------------
Resolution: Fixed
> FileStore does not scale because of precomputed graph on TarReader
> ------------------------------------------------------------------
>
> Key: OAK-2723
> URL: https://issues.apache.org/jira/browse/OAK-2723
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: oak-core
> Affects Versions: 1.1.8
> Reporter: Andrei Dulvac
> Assignee: Michael Dürig
> Priority: Critical
> Fix For: 1.3.0, 1.2.1
>
> Attachments: 0001-TarReader-fix-for-precomputed-graph.patch
>
>
> The {{FileStore}} keeps a reference to all {{TarReader}} object, one per each
> file. In my test, for an ~350 Gb repository, that was ~1100 tar files, with a
> {{TarReader}} for each.
> The problem is {{TarReader}} keeps a reference to a precomputed _graph_
> {{ByteBuffer}}, which is not really used that much. That means that through
> the {{readers}} field, there's a reference to these _graphs_, which means
> they can't be GC'ed.
> The construction of {{FileStore}} is from oak-run:
> bq. FileStore store = new FileStore(directory, 256,
> TAR_STORAGE_MEMORY_MAPPED);
> The effect is you need more that 6GB of Ram just to instantiate the
> {{FileStore}} object.
> The attached patch fixes this issue.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)