You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2007/07/05 18:54:05 UTC

[jira] Created: (JCR-1012) JCR2SPI: Optimization for Item.refresh and Session.refresh

JCR2SPI: Optimization for Item.refresh and Session.refresh
----------------------------------------------------------

                 Key: JCR-1012
                 URL: https://issues.apache.org/jira/browse/JCR-1012
             Project: Jackrabbit
          Issue Type: Improvement
            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.


[jira] Commented: (JCR-1012) JCR2SPI: Optimization for Item.refresh and Session.refresh

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Updated: (JCR-1012) JCR2SPI: Optimization for Item.refresh and Session.refresh

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated JCR-1012:
------------------------

    Component/s:     (was: jackrabbit-spi)
                 jackrabbit-jcr2spi

> JCR2SPI: Optimization for Item.refresh and Session.refresh
> ----------------------------------------------------------
>
>                 Key: JCR-1012
>                 URL: https://issues.apache.org/jira/browse/JCR-1012
>             Project: Jackrabbit
>          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.


[jira] Updated: (JCR-1012) JCR2SPI: Optimization for Item.refresh and Session.refresh

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated JCR-1012:
------------------------

    Component/s: SPI

> JCR2SPI: Optimization for Item.refresh and Session.refresh
> ----------------------------------------------------------
>
>                 Key: JCR-1012
>                 URL: https://issues.apache.org/jira/browse/JCR-1012
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            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.


[jira] Updated: (JCR-1012) JCR2SPI: Optimization for Item.refresh and Session.refresh

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dürig updated JCR-1012:
-------------------------------

    Comment: was deleted

(was: Separate issue for my comment from above)

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


[jira] Commented: (JCR-1012) JCR2SPI: Optimization for Item.refresh and Session.refresh

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12694130#action_12694130 ] 

Michael Dürig commented on JCR-1012:
------------------------------------

I created a separate issue for my last comment:
https://issues.apache.org/jira/browse/JCR-2050

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