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] Created: (JCR-2050) Optimize refresh operations
Date Tue, 31 Mar 2009 14:30:12 GMT
Optimize refresh operations 

                 Key: JCR-2050
                 URL: https://issues.apache.org/jira/browse/JCR-2050
             Project: Jackrabbit Content Repository
          Issue Type: Improvement
          Components: jackrabbit-jcr-benchmark, jackrabbit-jcr2spi
            Reporter: Michael Dürig
            Priority: Minor

With the current implementation (recursive) refresh operations cause a full traversal of the
sub-tree rooted at the item causing the refresh. This is potentially expensive. 

Instead of invalidating each item in the respective sub-tree I propose to mark the root of
the sub-tree as invalidated. Such a mark would include a time stamp. Also individual items
would be time stamped with their resolution time. When an item is accessed, 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.

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

View raw message