Neo EntityStore isn't compliant with UoW semantics.

5 views
Skip to first unread message

Niclas Hedhman

unread,
Oct 4, 2014, 1:51:01 AM10/4/14
to qi4j...@googlegroups.com

It seems that the Neo EntityStore opens a transaction in the Neo database while the UnitOfWork is in progress. And Neo itself protest against nested transactions. So, it is not possible to open a new UoW in the same thread, since there is a mismatch in semantics between Neo and Qi4j.

This is detected by the standard tests, but for some reason it was never fixed. It seems to be one of several testcases failing that has gone unnoticed for a while.

Cheers
--
Niclas Hedhman, Software Developer

Paul Merlin

unread,
Oct 4, 2014, 5:52:25 AM10/4/14
to Niclas Hedhman, qi4j...@googlegroups.com
Niclas,

Niclas Hedhman a écrit :

It seems that the Neo EntityStore opens a transaction in the Neo database while the UnitOfWork is in progress. And Neo itself protest against nested transactions. So, it is not possible to open a new UoW in the same thread, since there is a mismatch in semantics between Neo and Qi4j.

This is detected by the standard tests, but for some reason it was never fixed. It seems to be one of several testcases failing that has gone unnoticed for a while.
The Neo4j EntityStore is pretty much outdated. It uses 1.3 but 2.1.* is the latest.
For Qi4j 3.0 we should simply remove the existing one and write another for Neo4j 2.x.

By the way, the Neo4j usage model has changed from 1.x to 2.x generations.
Prefered usage of 2.x is through its rest endpoints, not embedded.
The new Neo4j EntityStore should provide at least the prefered usage pattern.

WDYT?

/Paul
 


Reply all
Reply to author
Forward
0 new messages