I'd like to enforce some behavior on those Graph implementations that will
support "threaded transactions".  Recall that a threaded transaction is one
where multiple threads can interact with the same transactional context.
In TP3 you can create one with:

tg = g.tx().create()

which returns a Graph instance that is ready for multiple threads to
operate on it.  But what does the following line mean where we try to
create a threaded transaction from a graph enabled with a threaded
transaction?

tg.tx().create()

Should that be allowed and if so, what would that mean?  In my mind, i
think we shouldn't allow it. I think the behavior should be to just throw
an exception and the supportsThreadedTransaction feature method should
return false.  I'd like to write tests to enforce that case so that we
achieve consistency across implementations.

Does anyone has thoughts on another way that this should work? or does this
approach just make sense?

Thanks,

Stephen

Reply via email to