Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
3.5.2
-
None
-
None
Description
Current behaviour:
At AbstractEvalOpProcessor, when we define the withResult lifecycle state, we rollback the transaction if an exception occurred while executing the state. [1]
However, it's the responsibility of afterFailure lifecycle state to handle any failure in prior lifecycle states (such as withResult) and hence, should be the right place to call rollback on a transaction.
In the current model, the transaction rollback is called twice, once at [1] and again at [2]
Proposal
As part of this JIRA, we should remove any transaction handling from the catch block at [1]i.e. comment out this line: https://github.com/apache/tinkerpop/blob/master/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java#L262