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/09/19 00:38:04 UTC

[jira] [Created] (TINKERPOP3-849) gremlin-server doesn't close sessions on 'close' opcode

Dylan Millikin created TINKERPOP3-849:
-----------------------------------------

             Summary: gremlin-server doesn't close sessions on 'close' opcode
                 Key: TINKERPOP3-849
                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-849
             Project: TinkerPop 3
          Issue Type: Bug
          Components: server
    Affects Versions: 3.0.1-incubating, 3.0.0-incubating, 3.1.0-incubating, 3.0.2-incubating
            Reporter: Dylan Millikin
            Assignee: stephen mallette


When sending a packet with a {{close}} opcode ({{0x8}}). One would expect the server to terminate the socket and all sessions created through it. 

Currently this is not the case and this can be tested by doing the following:
- Open websocket (handshake etc..)
- Send a message with a session UUID (that we'll call {{x}}) and a script : {{cal = 5+5}}
- Send a 'close' request and terminate the socket.
- Open another websocket connection
- Send a message with a session UUID of {{x}} and a script : {{cal}}

This last event should generate an error ({{cal}} shouldn't be defined). Instead it continues by sending back {{10}} as if the session were still alive.

-------------------------
Alternatively: 
If there is no tracking of the sessions opened through a specific socket connection, then perhaps we can join the following payload to the 'close' packet:
{code}
{ "requestId":"1d6d02bd-8e56-421d-9438-3bd6d0079ff1",
  "op":"eval",
  "processor":"session",
  "args":{"gremlin":"",
          "session":"x"}
}
{code}

The server will know to terminate session {{x}} at this stage.




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