[ https://issues.apache.org/jira/browse/JCR-314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12496317 ]
Stefan Guggisberg commented on JCR-314: --------------------------------------- > - Accept the patch ISMLocking.patch and discuss a locking > implementation/strategy that's better suited than the current one. +1 btw, i did a couple of test runs using ConcurrentReadWriteTest against a) current trunk b) a) with ISMLocking.patch applied (using DefaultISMLocking) c) b) with FineGrainedISMLocking.patch applied (using FineGrainedISMLocking) environment: macbook pro (intel, 2ghz), os-x 10.4.9, jre 1.4.2 results: a) ** ~2'300 #writes ~2'300'000 #reads b) ** ~2'300 #writes ~2'300'000 #reads c) ** ~1'700 #writes ~2'300'000 #reads => c) shows a significant decrease in #writes while #reads doesn't seem to be affected. i guess that FineGrainedISMLocking still has room for improvement ;) > Fine grained locking in SharedItemStateManager > ---------------------------------------------- > > Key: JCR-314 > URL: https://issues.apache.org/jira/browse/JCR-314 > Project: Jackrabbit > Issue Type: Improvement > Components: core > Affects Versions: 0.9, 1.0, 1.0.1, 1.1, 1.1.1, 1.2.1, 1.2.2, 1.2.3 > Reporter: Marcel Reutegger > Attachments: FineGrainedISMLocking.patch, ISMLocking.patch > > > 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. - You can reply to this email to add a comment to the issue online.