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 < milani.emanuele...@gmail.com> 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 orient-database+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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 orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.