Details

      Description

      Impala relies on Thrift 0.9.X for its RPC implementation. This is a venerable release and is showing its age. Problems include:

      • Low-quality SASL support (that we implemented ourselves)
      • Lack of high-quality nonblocking server (TNonBlockingServer is ok, but doesn't work with SASL, making it a non-starter for us. It is also very hard to provide support for sessions with TNonBlockingServer).
      • Lack of 0-copy native bytes type, meaning that large data structures are inefficient to send
      • Lack of support for async. server implementation, so expensive RPCs can consume threads that could have been used by cheap ones.

      Both Kudu and fbthrift have RPC implementations that address some or all of these shortcomings. We should evaluate both and commit to moving our RPC stack to one or the other.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                kwho Michael Ho
                Reporter:
                henryr Henry Robinson
              • Votes:
                5 Vote for this issue
                Watchers:
                20 Start watching this issue

                Dates

                • Created:
                  Updated: