Ken Hu created TINKERPOP-3141: --------------------------------- Summary: TinkerTransactionGraph doesn't allow deleting and adding element back in same transaction Key: TINKERPOP-3141 URL: https://issues.apache.org/jira/browse/TINKERPOP-3141 Project: TinkerPop Issue Type: Bug Components: tinkergraph Affects Versions: 3.7.3 Reporter: Ken Hu
An element with the same Id cannot be dropped and then added back in the same transaction. {code:java} @Test public void shouldAllowDropThenInsert() throws InterruptedException { final TinkerTransactionGraph g = TinkerTransactionGraph.open(); final GraphTraversalSource gtx = g.tx().begin(); gtx.addV().property(T.id, 1).next(); gtx.tx().commit(); GraphTraversalSource gtx2 = g.tx().begin(); gtx2.V().drop().iterate(); gtx.addV().property(T.id, 1).next(); gtx2.tx().commit(); assertEquals(1, g.getVertices().size()); } {code} throws a TransactionException. This occurs when the transaction attempts to get updated, the old vertex"isDeletedInTx" but has a different txNumber than the newly created vertex. [https://github.com/apache/tinkerpop/blob/3.7.3/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerElementContainer.java#L185] should probably allow this case through. -- This message was sent by Atlassian Jira (v8.20.10#820010)