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

Tomek Rękawek commented on OAK-4320:
------------------------------------

[~reschke], I wasn't aware that parsing document is an expensive operation (and 
obviously it is). Introducing {{NodeDocumentProvider}} seems like a big 
refactoring. In the meantime, maybe we can call {{getIfPresent()}} in the 
{{internalQuery()}} to check whether a document with given id and modcount is 
present in the cache and use it? WDYT? (there's updated version of the patch: 
[^OAK-4320-2.patch]).

> Use the cache tracker in the RDB Document Store
> -----------------------------------------------
>
>                 Key: OAK-4320
>                 URL: https://issues.apache.org/jira/browse/OAK-4320
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: documentmk, rdbmk
>            Reporter: Tomek Rękawek
>            Assignee: Tomek Rękawek
>             Fix For: 1.6
>
>         Attachments: OAK-4320-2.patch, OAK-4320.patch
>
>
> OAK-4112 introduced {{CacheChangesTracker}} mechanism, inspired by the 
> {{QueryContext}} class, already present in the RDB DS.
> The tracker works on the {{NodeDocumentCache}} level, within the methods 
> modifying the cache values, using the same {{NodeDocumentLocks}}, which may 
> prevent potential concurrency problems, described in the comments to OAK-3566.
> We should synchronise both approaches, so the queries in Mongo and RDB uses 
> the same logic to update their caches.



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

Reply via email to