On Tue, Jan 14, 2014 at 2:53 PM, Andy Seaborne <[email protected]> wrote:

> On 14/01/14 09:22, Reto Gmür wrote:
>
>> Well, TDB should work with transaction but also with no concurrent access.
>> The latter is what clerezza supports and enforces. It supports it in that
>> while iterating one should aquire a read lock. It enforces in that every
>> write operation automatically aquires a write-lock on the dataset.
>>
>
> Test case please!
>
> There are test testing multithreaded access. Not sure what test you mean

and what about CLEREZZA-691?
>

The open issue is not a lack of locking but a deadlock with addAll (when
invoked with another graph from the same dataset as target). The solution,
analogous to what is done in jena, is to copy the added graph to memory and
then add this collection of triples to the graph.

Cheers,
Reto

>
>         Andy
>
>
>
>> Cheers,
>> Reto
>>
>>
>> On Tue, Jan 14, 2014 at 9:22 AM, Minto van der Sluis <[email protected]>
>> wrote:
>>
>>  Hi Folks,
>>>
>>> A reply [1]  from Andy to one of my mails triggered me. I looked up the
>>> "serializable transactions" that Andy mentioned [2]. Especially the
>>> "Multi-threaded use" section caught my attention. If I read it correctly
>>> using a single dataset in multiple threads is discouraged.
>>>
>>> Looking at Clerezza's use of Jena's dataset I see no sign of
>>> multi-threading support. Might this be the cause of our
>>> ConcurrentModificationException perils? Am I on to something here?
>>>
>>> Please share your thoughts.
>>>
>>> Regards,
>>>
>>> Minto
>>>
>>> [1]
>>>
>>> http://mail-archives.apache.org/mod_mbox/clerezza-dev/
>>> 201401.mbox/%3C52D41088.5070802%40apache.org%3E
>>> [2] http://jena.apache.org/documentation/tdb/tdb_transactions.html
>>>
>>>
>>>
>>>
>>
>

Reply via email to