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 2016/06/15 15:36:09 UTC

[jira] [Commented] (OAK-4451) Implement a proper template cache

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

Michael Dürig commented on OAK-4451:
------------------------------------

I pushed an initial implementation of the to my private GitHub repository: https://github.com/mduerig/jackrabbit-oak/commit/0037b886ff8ca5e5945ad37d56d3b8ab084c36f9

[~frm], [~alex.parvulescu], kindly review. 

There are some loose ends to tie still: the calculations for entry weights and sizes in the [TemplateCache | https://github.com/mduerig/jackrabbit-oak/commit/0037b886ff8ca5e5945ad37d56d3b8ab084c36f9#diff-ae41fca59d0da3f5561baf8df3a72631R22] need still to be done. Maybe [~tmueller] could help out here as he was the initial implementer of this cache.

The [TemplateCacheTest | https://github.com/mduerig/jackrabbit-oak/commit/0037b886ff8ca5e5945ad37d56d3b8ab084c36f9#diff-545902106810ed9f3d67b331485c8073R22] needs some more tests (currently 0 ;-) )

> Implement a proper template cache
> ---------------------------------
>
>                 Key: OAK-4451
>                 URL: https://issues.apache.org/jira/browse/OAK-4451
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar
>            Reporter: Michael Dürig
>              Labels: cache, monitoring, production
>             Fix For: 1.6
>
>
> The template cache is currently just a map per segment. This is problematic in various ways: 
> * A segment needs to be in memory and probably loaded first only to read something from the cache. 
> * No monitoring, instrumentation of the cache
> * No control over memory consumption 
> We should there for come up with a proper template cache implementation in the same way we have done for strings ({{StringCache}}) in OAK-3007. Analogously that cache should be owned by the {{CachingSegmentReader}}. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)