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.