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

Vikas Saurabh updated OAK-3066:
-------------------------------
    Attachment: OAK-3066.take1.patch

Attaching a working implementation (no tests cases yet) - 
[^OAK-3066.take1.patch]. Things it does:
* Sets up persistent cache for prev docs
* Assigns a nominal 4% mem cache for prev docs
* NodeDocumentCache updated to divide its load between already existing 
nodesCache and newly added persistent cache
** quite a few method renames
** decision of putting into prev cache or not is done using id of doc being 
added/fetched (added Utils#isLeafPreviousDocId)

[~mreutegg], can you please review these changes. Please see a few *TODO* I've 
added in {{NodeDocumentCache}}. Should we worry about immutability of leaf prev 
docs at this layer (may be WARN traces are enough??)?
I've verified that configuring pers. cache for JournalIT#cacheInvalidationTest 
add 1 split doc into pers cache. I dumped out the value of that and read in 
NodeDocument.fromString() to get the same doc back.

I'd like to get this into 1.3.15 but with my other issues pending, I was 
wondering if it's ok to open a separate issue for 1.3.16 for adding tests.

> Persistent cache for previous documents
> ---------------------------------------
>
>                 Key: OAK-3066
>                 URL: https://issues.apache.org/jira/browse/OAK-3066
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, mongomk
>            Reporter: Marcel Reutegger
>            Assignee: Vikas Saurabh
>              Labels: performance
>             Fix For: 1.4
>
>         Attachments: OAK-3066.take1.patch, OAK-3066.wip.patch
>
>
> Previous (aka split) documents contain old revisions and are immutable 
> documents. Those documents should go into the persistent cache to reduce 
> calls to the underlying DocumentStore.



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

Reply via email to