Thank you very much for you quick replies! I will try in the next few hours and let you know right away!
On Tuesday, October 21, 2014 1:03:08 PM UTC+2, Andrey Lomakin wrote: > > Hi > I got reason of your issue, could you try 2.0-SNAPSHOT. > Problem should be fixed there. > > > On Tue, Oct 21, 2014 at 1:59 PM, Andrey Lomakin <[email protected] > <javascript:>> wrote: > >> Hi, >> Do you have local cache enabled ? >> It explicitly created to avoid such problems. >> >> On Tue, Oct 21, 2014 at 12:48 PM, Emanuele Milani <[email protected] >> <javascript:>> wrote: >> >>> Hi all! >>> >>> I am in the process of debugging an application based on OrientDB >>> (2.0M2). The problem I am facing are some OConcurrentModificationException. >>> The issue appears with both the "memory" and the "plocal" storage engines >>> (I did not try "remote"). It looks they are caused by the fact that >>> multiple OrientVertex objects which refer to the same database record are >>> (in general) not in sync. This also means that there is no guarantee in >>> general that a value which is returned by a query is the most up to date. >>> The following code replicates the issue. I agree it may look a bit >>> awkward, but it is just the smallest example I could come up with from our >>> code. >>> >>> OrientGraphFactory graphFactory = new OrientGraphFactory(DATABASE_URL); >>> graphFactory.setAutoStartTx(false); >>> OrientGraph graph = graphFactory.getTx(); >>> >>> graph.begin(); >>> OrientVertex firstVertexHandle = graph.addVertex(null, PROPERTY_NAME, 0 >>> ); >>> graph.commit(); >>> firstVertexHandle.setProperty(PROPERTY_NAME, 1); >>> >>> // Note that if any of the following 3 lines are commented, then the >>> problem does not appear >>> graph.begin(); >>> graph.getVertices("someproperty", "somevalue").iterator().hasNext(); >>> graph.commit(); >>> >>> Object vertexId = firstVertexHandle.getId(); >>> >>> Vertex secondVertexHandle = graph.getVertex(vertexId); >>> secondVertexHandle.setProperty(PROPERTY_NAME, 2); >>> >>> // prints 1 >>> System.out.println(firstVertexHandle.getProperty(PROPERTY_NAME)); >>> // prints 2 >>> System.out.println("Value queried from the second vertex handle is " + >>> secondVertexHandle.getProperty(PROPERTY_NAME)); >>> >>> // The following throws an OConcurrentModificationException >>> firstVertexHandle.setProperty(PROPERTY_NAME, 3); >>> >>> >>> Is this a bug in OrientDB? >>> What should the expected behavior with respect to multiple Vertex >>> objects referring to the same database record? >>> >>> -- >>> >>> --- >>> 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] <javascript:>. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> Best regards, >> Andrey Lomakin. >> >> Orient Technologies >> the Company behind OrientDB >> >> > > > -- > Best regards, > Andrey Lomakin. > > Orient Technologies > the Company behind OrientDB > > -- --- 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.
