[
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.