Hi Nicolas, Indexes are transactional. How did you create indexes? How did you lookup on them?
Lvc@ On 14 August 2014 17:34, Nicolas Delsaux <[email protected]> wrote: > Hi > as i'm advancing over my port of gaedo (https://github.com/Riduidel/gaedo) > to support OrientDB specificities, I'm fighting with a strange bug that > appear only on transacted graph. Let me explain it further. > > In my test, I create a vertex and index it immediatly over all of its > properties, in an index named "vertices" and inherited from Blueprints > legacy. > > Each indexing is done in the form > index('property name', 'property value', 'vertex'). > > When doing so, i try to get back that vertex from index but, when using a > transacted graph, it seems to fail, and the vertex is duplicated, or at > least it appears so. > > Indeed, when working on single-valuated properties, I do a test on update > operations to make sure the source vertex is linked to only one destination > vertex. > > When running with transactionless graph (calling the "getNoTx()" method), > all goes fine. > > But, when running with transacted graph, I get lots of messages like this > one : > > public com.dooapp.gaedo.test.beans.Message > com.dooapp.gaedo.test.beans.User.about > is linked to more than one vertex : > v[#9:8]->com_dooapp_gaedo_test_beans_Post-10 > v[#9:13]->com_dooapp_gaedo_test_beans_Post-10 > v[#9:13]->com_dooapp_gaedo_test_beans_Post-10 > v[#9:20]->com_dooapp_gaedo_test_beans_Post-10 > v[#9:20]->com_dooapp_gaedo_test_beans_Post-10 > v[#9:27]->com_dooapp_gaedo_test_beans_Post-10 > v[#9:27]->com_dooapp_gaedo_test_beans_Post-10 > v[#9:27]->com_dooapp_gaedo_test_beans_Post-10 > v[#9:27]->com_dooapp_gaedo_test_beans_Post-10 > (continuing on 50 lines). > > From debugging, I understand many vertices are created in that case. > > And I suspect, after a fast debug in OTransactionRealAbstract, that this > may have something to do with the fact that the index is only updated at > the end of the transaction. Am I right ? > > Notice that, as my library is supposed to work on OrientDB as well as on > Neo4j, I'm very reluctant to any change in code. > > In such conditions, what can I do to fix that ? > > -- > Nicolas Delsaux > > -- > > --- You received this message because you are subscribed to the Google > Groups "OrientDB" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
