Since we experience CMEs either "no concurrent access" is broken or like
Andy mentioned in [1] java iterators are abused.

Even though it should not be necessary, according to "no concurrent
access", my application still synchronized all access to TcManager. This
additional synchonization did result in a significant drop in the number
of CME occurrences. But I still have a few.

Most occurrences happen while reading (executing a query). Should we
also explicitly start read transactions? Currently
BaseTdbTcProvider.executeSparqlQuery() does not include starting a read
transaction.

dataset.begin(ReadWrite.READ)


IMO this is either caused by abusing java iterators or the internal
SyncThread. But on the other hand SyncThread also uses write locks.

Am I the only one experiencing CMEs? Are there other application running
with multiple concurrent users that make use of Clerezza TDB provider?

Regards,

Minto


Reto Gmür schreef op 14-1-2014 10:22:
> 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.
>
> 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
>>
>>
>>


-- 
ir. ing. Minto van der Sluis
Software innovator / renovator
Xup BV

Mobiel: +31 (0) 626 014541

Reply via email to