Hi Paolo, all,

I am also interested by the transactional TDB datastore. Do you know
if it is possible to add or to remove a quad while iterating over an
Iter<Quad> issued from a SPARQL query when a Write access mode is
used?

Kind Regards,
Laurent

On Thu, Oct 27, 2011 at 3:15 PM, Paolo Castagna
<[email protected]> wrote:
> Hi André
>
> Dr. André Lanka wrote:
>>
>> Hi Paolo,
>>
>> On 27.10.2011 12:31, Paolo Castagna wrote:
>>>
>>> the concurrency documentation on TDB could certainly be improved! :-)
>>> http://openjena.org/wiki/TDB/JavaAPI#Concurrency
>>
>>> Can you try to get a lock from a DatasetGraphTDB and let us know if
>>> you still have problems?
>>
>> As expected the problems vanish, yet this blocks the complete store
>> (containing up to 1000 named graphs) whenever someone wants to write to it.
>> This brings me back to my initial question:
>>
>>
>>>> Is there any possibility to permit parallel write access to different
>>>> graphs?
>
> Which TDB version are you using?
> What is the average execution time of your write|read requests?
> How many write|read request per second you have?
>
> If you want to try a SNAPSHOT (be warned: it's a SNAPSHOT and it might have
> problems!), you could use TDB 0.9.0-incubating-SNAPSHOT here:
> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-tdb/
>
> Then you can try:
>
>    Location location = ...
>    StoreConnection sConn = StoreConnection.make(location);
>
>    DatasetGraphTxn dsgTx = null;
>    try {
>        dsgTx = sConn.begin(ReadWrite.WRITE);
>        ...
>    } catch (Exception e) {
>        dsgTx.abort();
>        ...
>    } finally {
>        dsgTx.commit();
>    }
>
>
>    try {
>        dsgTx = sConn.begin(ReadWrite.READ);
>    } catch (Exception e) {
>        dsgTx.abort();
>    } finally {
>        dsgTx.commit();
>    }
>
> Another warning: these are APIs which might or might not change again in
> future.
>
> See also:
>
>  - https://issues.apache.org/jira/browse/JENA-41 (now closed)
>  - https://cwiki.apache.org/confluence/display/JENA/TxTDB-design
>  - https://cwiki.apache.org/confluence/display/JENA/TxTDB
>
> If you are interested in low level details, a good starting point to look at
> is
> the test suite, here:
> http://svn.apache.org/repos/asf/incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/
>
> A test using multiple threads to run read/write transactions is this one:
> http://svn.apache.org/repos/asf/incubator/jena/Jena2/TDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/T_TransSystem.java
>
> If you are curious and you want to have a look at the implementation,
> start from the com.hp.hpl.jena.tdb.transaction package, here:
> http://svn.apache.org/repos/asf/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/
>
> Paolo
>
>>
>> Thanks
>> André
>>
>>
>
>

Reply via email to