Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-849

gremlin-server doesn't close sessions on 'close' opcode

    Details

      Description

      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:

      { "requestId":"1d6d02bd-8e56-421d-9438-3bd6d0079ff1",
        "op":"eval",
        "processor":"session",
        "args":{"gremlin":"",
                "session":"x"}
      }
      

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

        Attachments

          Activity

            People

            • Assignee:
              spmallette stephen mallette
              Reporter:
              dmill Dylan Millikin
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: