On 27/07/15 18:06, [email protected] wrote:
Is there some specific reason as to why you override the DatasetGraphWithLock lock?Yes, because DatasetGraphWithLock has no Lock that I could find, and it inherits getLock() from DatasetGraphTrackActive, which just pulls the lock from the wrapped DatasetGraph. I wanted to make sure that a MRSW Lock is in play. But maybe I am misunderstanding the interaction here? (No surprise! {grin})
A DatasetGraph provides whatever lock is suitable to meet the contract of concurrency [1]
Some implementations (there aren't any) may not even be able to support true parallel readers (for example, datastructures that they may make internal changes even in read operations like moving recently accessed items to the top or caching computation needed for read).
There aren't any (the rules are R-safe) - locks are always LockMRSW. [1] http://jena.apache.org/documentation/notes/concurrency-howto.html Andy
