Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-17721

Provide streaming APIs with SSL/TLS

    XMLWordPrintableJSON

    Details

    • Type: Umbrella
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 3.0.0, 2.3.0
    • Component/s: rpc, security
    • Labels:
      None

      Description

      Umbrella to add optional client/server streaming capabilities to HBase.
      This would allow bandwidth to be used more efficiently for certain operations, and allow clients to use SSL/TLS for authentication and encryption.

      Desired client/server scaffolding:

      • HTTP/2 support
      • Protocol negotiation (blocking vs streaming, auth, encryption, etc.)
      • TLS/SSL support
      • Streaming RPC support

      Possibilities (and their tradeoffs):

      • gRPC: Some initial work and discussion on HBASE-13467 (Prototype using GRPC as IPC mechanism)
        • Has most or all of the desired scaffolding
        • Adds additional g* dependencies. Compat story for g* dependencies not always ideal
      • Custom HTTP/2 based client/server APIs
        • More control over compat story
        • Non-trivial to build scaffolding; might reinvent wheels along the way
      • Others?

      Related Jiras that might be rolled in as sub-tasks (or closed/replaced with new ones):
      HBASE-17708 (Expose config to set two-way auth over TLS in HttpServer and add a test)
      HBASE-8691 (High-Throughput Streaming Scan API)
      HBASE-14899 (Create custom Streaming ReplicationEndpoint)

        Attachments

        1. 0001-Initial-add-of-grpc.patch
          5 kB
          Michael Stack

          Activity

            People

            • Assignee:
              alexaraujo Alex Araujo
              Reporter:
              alexaraujo Alex Araujo
            • Votes:
              0 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

              • Created:
                Updated: