jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tobias Bocanegra (JIRA)" <j...@apache.org>
Subject [jira] Created: (JCR-617) CachingHieraarchyManager may serve moved items
Date Fri, 03 Nov 2006 09:30:16 GMT
CachingHieraarchyManager may serve moved items

                 Key: JCR-617
                 URL: http://issues.apache.org/jira/browse/JCR-617
             Project: Jackrabbit
          Issue Type: Bug
    Affects Versions: 1.1
            Reporter: Tobias Bocanegra
         Assigned To: Tobias Bocanegra
             Fix For: 1.2

There is a problem with weak referenced item states and event notification in the

consider the following:
- Session A traverses some nodes and fills-up the cache of the ChachingHierarchyManager
- This also fills the weak-ref cache in Session A LocalItemStateManager.
- Session B does some operations
- At some point, GC decides to remove the weakly refferenced ItemStates in Session As
- Session B moves a node and saves the changes.
- The SharedItemStateManager notifies all listeners that a node was modified
- The LocalItemStateManager of Session A receives the event, but does not bubble it,
  because it does not have the item anymore in its cache
- The CachingHierarchyManager of Session A never receives the modification event and still
  servers the items at the old location.

Solution A:
reconnect missing states in the LocalItemStateManager when an event is received. this has
the drawback that a lot of state would be generated that are not needed.

Solution B:
add a new event 'nodeModified' that is only sent by the LocalItemStateManager if a
'stateModified' was received for which it does not have the item aymore. this has the
drawback that alot more events are generated.

Will implement solution B

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message