[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ https://issues.apache.org/jira/browse/OAK-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke updated OAK-3066: Labels: candidate_oak_1_0 candidate_oak_1_2 performance (was: performance) > 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 >Priority: Blocker > Labels: candidate_oak_1_0, candidate_oak_1_2, performance > Fix For: 1.4, 1.3.15 > > 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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ https://issues.apache.org/jira/browse/OAK-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3066: --- Fix Version/s: 1.3.15 > 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, 1.3.15 > > 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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ https://issues.apache.org/jira/browse/OAK-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3066: --- Priority: Blocker (was: Major) > 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 >Priority: Blocker > Labels: performance > Fix For: 1.4, 1.3.15 > > 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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ 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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ 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.wip.patch Attaching a wip [patch|^OAK-3066.wip.patch]. Added prev cache inside {{NodeDocumentCache}} as it seemed that prev documents are very specific to NodeDocuments. Building the cache, fetching stats etc are done via DocumentStore implementation/wrappers. Since node cache is already safe guarded via locks, we don't require any more locks - while putting doc into cache, I check if it's a split doc... if so, then put it into prev doc cache as well. While getting, we poll prev cache first and then fallback to node cache. While getting via loader, the fetched doc is put into prev doc cache if it's a split doc. [~mreutegg], can you please have a look? It's just wip for now but it wraps the idea as I think makes sense. > 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.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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ https://issues.apache.org/jira/browse/OAK-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3066: --- Fix Version/s: 1.4 > 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 > > > 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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ https://issues.apache.org/jira/browse/OAK-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3066: --- Fix Version/s: (was: 1.4) > 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 > > 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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ https://issues.apache.org/jira/browse/OAK-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcel Reutegger updated OAK-3066: -- Fix Version/s: (was: 1.3.9) 1.4 > 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 > > > 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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ https://issues.apache.org/jira/browse/OAK-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcel Reutegger updated OAK-3066: -- Fix Version/s: (was: 1.3.7) 1.3.8 > 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.3.8 > > > 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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ https://issues.apache.org/jira/browse/OAK-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Marth updated OAK-3066: --- Fix Version/s: (was: 1.3.5) 1.3.7 > 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.3.7 > > > 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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ https://issues.apache.org/jira/browse/OAK-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chetan Mehrotra updated OAK-3066: - Fix Version/s: (was: 1.3.4) 1.3.5 > 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.3.5 > > > 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)
[jira] [Updated] (OAK-3066) Persistent cache for previous documents
[ https://issues.apache.org/jira/browse/OAK-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chetan Mehrotra updated OAK-3066: - Assignee: Vikas Saurabh > 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.3.5 > > > 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)