You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Tomek Rękawek (JIRA)" <ji...@apache.org> on 2016/11/22 12:42:58 UTC

[jira] [Commented] (OAK-5138) NodeCache.getIfPresent() may result in writing to persistent cache

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

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

Patch attached. [~tmueller], could you take a look on it? Especially on the changes in MultiGenerationMap.

> NodeCache.getIfPresent() may result in writing to persistent cache
> ------------------------------------------------------------------
>
>                 Key: OAK-5138
>                 URL: https://issues.apache.org/jira/browse/OAK-5138
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: cache, documentmk
>    Affects Versions: 1.4.10, 1.5.14
>            Reporter: Tomek Rękawek
>            Assignee: Tomek Rękawek
>            Priority: Minor
>             Fix For: 1.6
>
>         Attachments: OAK-5138.patch
>
>
> The NodeCache#getIfPresent() method checks whether the requested item exists either in the memCache or the persisted, multi-generational cache.
> If the item exists in the multi-generational cache, but not in the most recent (write) generation, it's being moved (so the MultiGenerationMap.put() method is invoked).
> As a result, the NodeCache#getIfPresent() method may result in a synchronous write, even in the [asynchronous mode|OAK-4882].



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