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