[
https://issues.apache.org/jira/browse/JENA-624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15033684#comment-15033684
]
A. Soroka commented on JENA-624:
--------------------------------
Re: multiple invocations of {{end}}:
The code for which you are looking is in
{{LockMRPlusSW::leaveCriticalSection}}. It's {{if (isHeldByCurrentThread())
unlock();}}. I believe that the sequence you outline is safe. If you like I can
add a test for that to demonstrate it. Would that be good? Or are you saying
that the interaction with threads doesn't belong in {{LockMRPlusSW}} but in
{{DatasetGraphInMemory}}, as you outline?
Re: lock exposure:
I'm not sure I understand. Are you suggesting that there should be a fresh lock
associated to each transaction? Or a single dataset-wide lock that is used by
transactions? I'm a little confused about your remark "The lock may (dubiously)
be protecting other code but is not MRSW safe." The lock in question is
{{LockMRPlusSW}}, which is very much designed to be MRSW safe, although of
course there are always bugs!
> Develop a new in-memory RDF Dataset implementation
> --------------------------------------------------
>
> Key: JENA-624
> URL: https://issues.apache.org/jira/browse/JENA-624
> Project: Apache Jena
> Issue Type: Improvement
> Reporter: Andy Seaborne
> Assignee: A. Soroka
> Labels: java, linked_data, rdf
>
> The current (Jan 2014) Jena in-memory dataset uses a general purpose
> container that works for any storage technology for graphs together with
> in-memory graphs.
> This project would develop a new implementation design specifically for RDF
> datasets (triples and quads) and efficient SPARQL execution, for example,
> using multi-core parallel operations and/or multi-version concurrent
> datastructures to maximise true parallel operation.
> This is a system project suitable for someone interested in datatbase
> implementation, datastructure design and implementation, operating systems or
> distributed systems.
> Note that TDB can operate in-memory using a simulated disk with
> copy-in/copy-out semantics for disk-level operations. It is for faithful
> testing TDB infrastructure and is not designed performance, general in-memory
> use or use at scale. While lesson may be learnt from that system, TDB
> in-memory is not the answer here.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)