You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Alex Parvulescu (Updated) (JIRA)" <ji...@apache.org> on 2012/03/13 23:20:40 UTC

[jira] [Updated] (JCR-3257) ItemManager cache access tweaks

     [ https://issues.apache.org/jira/browse/JCR-3257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Parvulescu updated JCR-3257:
---------------------------------

    Attachment: JCR-3257.patch

feedback welcome
                
> ItemManager cache access tweaks
> -------------------------------
>
>                 Key: JCR-3257
>                 URL: https://issues.apache.org/jira/browse/JCR-3257
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Alex Parvulescu
>         Attachments: JCR-3257.patch
>
>
> I started with #evictItem but I ended up doing some more tiny changes overall:
>  - #evictItem: we can safely refactor the #get -> #remove into a simple #remove:
> It appears that the check "cached == data" only applies to shareable nodes. I ran the entire jacorabbit-core test suite and the check failed 9 times, out of which 3 were related to shareable nodes and the other 6 were just comparing to null, in which case we can safely evict the value.
> So if we refactor the method to be consistent with #cacheItem, we can safely remove the "==" check. The shareableNodesCache has the shareable nodes info, itemCache everything else.
> - #cacheItem doesn't need to check if the key exists, #put already returns the info
> - #itemDestroyed does not need to synchronize on itemCache as #evictItems already does that
> - ShareableNodesCache#evictAll doesn't need to be synchronized - that is already covered by #evictItems with the synchronization on itemCache
> patch follows shortly

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira