[ 
https://issues.apache.org/jira/browse/TINKERPOP-3217?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18042319#comment-18042319
 ] 

ASF GitHub Bot commented on TINKERPOP-3217:
-------------------------------------------

xiazcy commented on code in PR #3284:
URL: https://github.com/apache/tinkerpop/pull/3284#discussion_r2582911740


##########
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/session/SessionOpProcessor.java:
##########
@@ -571,6 +582,13 @@ protected void handleGraphOperation(final Bytecode 
bytecode, final Graph graph,
                                     .statusMessage(t.getMessage())
                                     .statusAttributeException(t).create());
                         }
+
+                        if (destroySessionPostGraphOp) {
+                            // Destroy the session after a successful rollback 
due to error. Placed here rather than
+                            // in a finally block since we don't want to end 
the session if no commit/rollback succeeded.
+                            session.manualKill(true);

Review Comment:
   Can there ever be a case where there's an error and rollback isn't 
successful, but the session is killed here?





> Add mechanism to close session without closing connection on server
> -------------------------------------------------------------------
>
>                 Key: TINKERPOP-3217
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-3217
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: server
>    Affects Versions: 3.8.0, 3.7.5
>            Reporter: Ken Hu
>            Priority: Major
>
> Currently, the Gremlin Server expects a closing of the underlying connection 
> to signal that the corresponding Session tied to the connection should be 
> closed. This is part of the [SessionOpProcessor 
> reference|https://tinkerpop.apache.org/docs/current/dev/provider/#_session_opprocessor].
>  An option should be added to the server so that alternative would be that 
> the Session closes automatically if a successful commit or rollback occurs. 
> This would only affect the Bytecode portion of the SessionOpProcessor that 
> makes the Session act like a Transaction. This would allow connection re-use 
> of connections for sessions and enable better performance for use cases that 
> require large number of transactions to occur.
> This needs to be an option to prevent breaking changes in the server in 3.7.x 
> and 3.8.x. In 4.x and later, this should probably be the default option.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to