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)