You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2015/04/08 18:33:14 UTC

[jira] [Assigned] (OAK-2723) FileStore does not scale because of precomputed graph on TarReader

     [ https://issues.apache.org/jira/browse/OAK-2723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dürig reassigned OAK-2723:
----------------------------------

    Assignee: Michael Dürig

> 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
>             Fix For: 1.3.0
>
>         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)