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)

Reply via email to