Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-13415

Decouple Sessions from thrift binary transport

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.0
    • Fix Version/s: 2.1.0
    • Component/s: HiveServer2
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Current behaviour is:

      • Open a thrift binary transport
      • create a session
      • close the transport

      Then the session gets closed. Consequently, all the operations running in the session also get killed.

      Whereas, if you open an HTTP transport, and close, the enclosing sessions are not closed.

      This seems like a bad design, having transport and sessions tightly coupled. I'd like to fix this.

      The issue that introduced it is HIVE-9601 Relevant discussions at here, here and mentioned links on those comments.

      Another thing that seems like a slightly bad design is this line of code in ThriftBinaryCLIService:

      server.setServerEventHandler(serverEventHandler);
      

      Whereas serverEventHandler is defined by the base class, with no users except one sub-class(ThriftBinaryCLIService), violating the separation of concerns.

        Attachments

        1. HIVE-13415.05.patch
          17 kB
          Rajat Khandelwal
        2. HIVE-13415.04.patch
          1.26 MB
          Rajat Khandelwal
        3. HIVE-13415.01.patch
          14 kB
          Rajat Khandelwal

          Issue Links

            Activity

              People

              • Assignee:
                prongs Rajat Khandelwal
                Reporter:
                prongs Rajat Khandelwal
              • Votes:
                0 Vote for this issue
                Watchers:
                12 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: