You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Dylan Millikin (JIRA)" <ji...@apache.org> on 2015/10/22 23:12:27 UTC

[jira] [Commented] (TINKERPOP3-910) In session transaction openned from sessionless request

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

Dylan Millikin commented on TINKERPOP3-910:
-------------------------------------------

Still trying to find the cause of this. 
So far {{GremlinExecutor.beforeEval}} shows that the "post-sessionless" in session request shows {{graph.tx().isOpen() = FALSE}}
And the {{GremlinExecutor.afterSuccess}} logically shows it as {{TRUE}} since that's the "bug" we get from gremlin script anyways...

So the session is opened sometime between the {{beforeEval}} and the actual script evaluating... wth right?

I'm at a loss as to why, or how sending the sessionless request leads to this behavior. I was wondering if the context/session GremlinExecutors or some of their properties were global but it doesn't look like it (maybe I'm wrong). I'll continue digging in tomorrow. 

> In session transaction openned from sessionless request
> -------------------------------------------------------
>
>                 Key: TINKERPOP3-910
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-910
>             Project: TinkerPop 3
>          Issue Type: Bug
>          Components: server
>            Reporter: Dylan Millikin
>            Assignee: stephen mallette
>
> When running a series of in session and sessionless request from *the same* client, an in session transaction can be opened by a sessionless request.
> This failing test (in GremlinServerIntegrateTest.java) demonstrated this:
> https://github.com/PommeVerte/incubator-tinkerpop/commit/f8d4e618a74821f72dc1e3c107cd3b30d34917f2
> If these same requests are made from two different clients there are no issues  (see test in GremlinDriverIntegrateTest.java)
> Rundown of what the tests do :
> - Open a transaction (in session)
> - Add vertex (in session)
> - Commit transaction (in session)
> - Test if transaction is closed (in session) {{=TRUE}}
> - Send sessionless read request.
> - Test if transaction is closed(in session) {{=FALSE}} <--- bug should be {{=TRUE}}
> The bug only occurs if there's a sessionless read, and if the read returns elements (not {{FastNoSuchElement...}}).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)