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)