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