You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2006/02/03 12:00:03 UTC

[jira] Created: (JCR-314) Fine grained locking in SharedItemStateManager

Fine grained locking in SharedItemStateManager
----------------------------------------------

         Key: JCR-314
         URL: http://issues.apache.org/jira/browse/JCR-314
     Project: Jackrabbit
        Type: Improvement
  Components: core  
    Reporter: Marcel Reutegger
    Priority: Minor


The SharedItemStateManager (SISM) currently uses a simple read-write lock to ensure data consistency. Store operations to the PersistenceManager (PM) are effectively serialized.

We should think about more sophisticated locking to allow concurrent writes on the PM.

One possible approach:

If a transaction is currently storing data in a PM a second transaction may check if the set of changes does not intersect with the first transaction. If that is the case it can safely store its data in the PM.

This fine grained locking must also be respected when reading from the SISM. A read request for an item that is currently being stored must be blocked until the store is finished.

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


[jira] Updated: (JCR-314) Fine grained locking in SharedItemStateManager

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-314?page=all ]

Jukka Zitting updated JCR-314:
------------------------------

    Fix Version: 1.1
        Version: 0.9

> Fine grained locking in SharedItemStateManager
> ----------------------------------------------
>
>          Key: JCR-314
>          URL: http://issues.apache.org/jira/browse/JCR-314
>      Project: Jackrabbit
>         Type: Improvement
>   Components: core
>     Versions: 0.9
>     Reporter: Marcel Reutegger
>     Priority: Minor
>      Fix For: 1.1

>
> The SharedItemStateManager (SISM) currently uses a simple read-write lock to ensure data consistency. Store operations to the PersistenceManager (PM) are effectively serialized.
> We should think about more sophisticated locking to allow concurrent writes on the PM.
> One possible approach:
> If a transaction is currently storing data in a PM a second transaction may check if the set of changes does not intersect with the first transaction. If that is the case it can safely store its data in the PM.
> This fine grained locking must also be respected when reading from the SISM. A read request for an item that is currently being stored must be blocked until the store is finished.

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