Jeremy,

On 16/08/12 06:35, Jeremy Carroll wrote:
I am working on upgrading to TDB 0.9.2

An issue, (which may or may not be new) is that unlike GraphMem TDB will
throw a concurrent modification from a write that is concurrent with a
read.

If used non-transactionally.  A good time for transactions ...

(The behavior I am expecting is for reads only to throw concurrent
modifications).

I am currently modifying DatasetControlMRSW (my current version
attached), using a copy of the source.
I am wondering if there is, or could be, some extension point where I
can add a factory for DatasetControl.

(Note the code to show extended stack traces showing both stack traces
where there are conflicting reads and writes).

The actual policy I am using is:
(Single Writer or Multiple Readers) and Multiple Optimistic Readers -
that recover from concurrent modifications.

Jeremy

Could you give some background as to what you are trying to achieve?

TDB transactions give a single writer AND multiple readers with full isolation. Given that TDB transactions are write-ahead logging, not lock based, all the lower levels like "read committed" (non-repeatable reads) aren't much of an advantage.

DatasetControl is nowadays really only for internal consistency checking and to give some compatibility for old-style (0.8.X) usage. Violation of old-style MRSW

I don't know what multiple write support for RDF would look like - locking to guarantee triple-consistency does not give any data model consistency.

        Andy

Reply via email to