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.

Reply via email to