jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] Commented: (JCR-1012) JCR2SPI: Optimization for Item.refresh and Session.refresh
Date Sun, 01 Mar 2009 14:03:12 GMT

    [ https://issues.apache.org/jira/browse/JCR-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12677809#action_12677809

Michael Dürig commented on JCR-1012:

I think we should not add yet another method to the RepositoryService interface for this.
RepositoryService is already huge and hard to implement for non jcr persistent layers. In
general there will be probably not much gain from such a method since most implementations
wouldn't be able to provide useful information. 

I was thinking of a different approach however: instead of invalidating each item in the respective
sub-tree (which might be an expensive operation) why not just mark the root of the sub-tree
as invalidated. Such a mark would include some sort of a time stamp. Also we would time stamp
individual items with the time they where resolved. When an item is access, it would check
if its resolution time stamp is older than the latest invalidation time stamp. If so, it checks
whether the invalidation applies to it at all (by traversing up the path) and if so it would
re-resolve itself. In any case its resolution time stamp will be updated. 

This approach would make invalidation much cheaper without putting much additional load to
simple item access. Moreover most of the additional load (traversing up the path) only applies
when an invalidation is pending.

> JCR2SPI: Optimization for Item.refresh and Session.refresh
> ----------------------------------------------------------
>                 Key: JCR-1012
>                 URL: https://issues.apache.org/jira/browse/JCR-1012
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-jcr2spi
>            Reporter: angela
> (suggested by david)
> Item.refresh and Session.refresh could be optimized if it was possible to find out, if
there are external modifications affecting the tree to be refreshed and if the information
would allow to specifically invalidate affected ItemStates.
> Currently all ItemStates present in the tree below the given Item are invalidated (and
updated upon the next access).

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message