[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Davide Giannella updated OAK-3494: -- Fix Version/s: 1.4 > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core, mongomk >Reporter: Vikas Saurabh >Assignee: Marcel Reutegger > Labels: performance > Fix For: 1.4, 1.3.10, 1.2.9, 1.0.25 > > Attachments: OAK-3494-1.patch, OAK-3494-2.patch, > OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3494: --- Fix Version/s: 1.0.25 > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core, mongomk >Reporter: Vikas Saurabh >Assignee: Marcel Reutegger > Labels: candidate_oak_1_0, candidate_oak_1_2, performance > Fix For: 1.3.10, 1.2.9, 1.0.25 > > Attachments: OAK-3494-1.patch, OAK-3494-2.patch, > OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chetan Mehrotra updated OAK-3494: - Labels: performance (was: candidate_oak_1_0 candidate_oak_1_2 performance) > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core, mongomk >Reporter: Vikas Saurabh >Assignee: Marcel Reutegger > Labels: performance > Fix For: 1.3.10, 1.2.9, 1.0.25 > > Attachments: OAK-3494-1.patch, OAK-3494-2.patch, > OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3494: --- Fix Version/s: 1.2.9 > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core, mongomk >Reporter: Vikas Saurabh >Assignee: Marcel Reutegger > Labels: candidate_oak_1_0, candidate_oak_1_2, performance > Fix For: 1.3.10, 1.2.9 > > Attachments: OAK-3494-1.patch, OAK-3494-2.patch, > OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcel Reutegger updated OAK-3494: -- Fix Version/s: (was: 1.3.9) 1.3.10 > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core, mongomk >Reporter: Vikas Saurabh >Assignee: Marcel Reutegger > Labels: performance > Fix For: 1.3.10 > > Attachments: OAK-3494-1.patch, OAK-3494-2.patch, > OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcel Reutegger updated OAK-3494: -- Component/s: mongomk > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core, mongomk >Reporter: Vikas Saurabh >Assignee: Marcel Reutegger > Labels: performance > Fix For: 1.3.9 > > Attachments: OAK-3494-1.patch, OAK-3494-2.patch, > OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcel Reutegger updated OAK-3494: -- Fix Version/s: 1.3.9 > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core >Reporter: Vikas Saurabh >Assignee: Marcel Reutegger > Labels: performance > Fix For: 1.3.9 > > Attachments: OAK-3494-1.patch, OAK-3494-2.patch, > OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcel Reutegger updated OAK-3494: -- Assignee: Marcel Reutegger Issue Type: Improvement (was: Bug) Thanks for the patches Vikas. I think it would be good to have the JSOP parsing in a single place. That is, reuse the existing parsing in DocumentNodeStore.dispatch(). > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core >Reporter: Vikas Saurabh >Assignee: Marcel Reutegger > Labels: performance > Attachments: OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3494: --- Attachment: OAK-3494-2.patch Added a few cases over Marcel's patch. The [patch|^OAK-3494-2.patch] includes Marcel's patch and the extra tests. > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core >Reporter: Vikas Saurabh >Assignee: Marcel Reutegger > Labels: performance > Attachments: OAK-3494-1.patch, OAK-3494-2.patch, > OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcel Reutegger updated OAK-3494: -- Attachment: OAK-3494-1.patch Attaching my proposal for a fix based on Vikas' previous patch. No additional tests, though. > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core >Reporter: Vikas Saurabh >Assignee: Marcel Reutegger > Labels: performance > Attachments: OAK-3494-1.patch, OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3494: --- Attachment: OAK-3494-TestCase.patch Attaching [patch|^OAK-3494-TestCase.patch] for ignored test case. > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Bug > Components: core >Reporter: Vikas Saurabh > Labels: performance > Attachments: OAK-3494-TestCase.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-3494) MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3494: --- Attachment: OAK-3494.patch Attached [patch|OAK-3494.patch] (which includes the test case patch from above). [~mreutegg], [~egli] can you guys please review? I'm completely unsure if I've used Jsop parsing correctly. > MemoryDiffCache should also check parent paths before falling to Loader (or > returning null) > --- > > Key: OAK-3494 > URL: https://issues.apache.org/jira/browse/OAK-3494 > Project: Jackrabbit Oak > Issue Type: Bug > Components: core >Reporter: Vikas Saurabh > Labels: performance > Attachments: OAK-3494-TestCase.patch, OAK-3494.patch > > > Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} > for the list of modified children at {{path}}. A diff calcualted by > {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or > {{JournalEntry.applyTo}} (actively) fill each path for which there are > modified children (including the hierarchy) > But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, > the observer will still go down to {{diffImpl}} although cached parent entry > can be used to answer the query. -- This message was sent by Atlassian JIRA (v6.3.4#6332)