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

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

    XMLWordPrintableJSON

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

            spmallette Stephen Mallette
            dmill Dylan Millikin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: