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)