[ 
https://issues.apache.org/jira/browse/OAK-2723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14483072#comment-14483072
 ] 

Andrei Dulvac edited comment on OAK-2723 at 4/7/15 12:21 PM:
-------------------------------------------------------------

Attached patch created with {{git format-patch HEAD~1}}
Apply with {{patch -p1 -i 0001-TarReader-fix-for-precomputed-graph.patch}}


was (Author: andrei.dulvac):
Attached patch created with {{git format-patch HEAD~1}}
Apply with {{patch -p1 -i 0001-fixes-FACILITIES-97.patch}}

> 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
>             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)

Reply via email to