hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17721) Provide streaming APIs with SSL/TLS
Date Fri, 30 Jun 2017 19:45:00 GMT

    [ https://issues.apache.org/jira/browse/HBASE-17721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16070625#comment-16070625
] 

stack commented on HBASE-17721:
-------------------------------

Spent five minutes. Looks like it'll be a little work getting it to play on the CLASSPATH
but should work. In particular, grpc, includes gson, guava, protobufs, and netty. We are already
shading these separately.  Research would be around the difference between our versions and
grpcs and if we can align (or just rely on grpc going forward since it has all that is in
hbase-thirdparty). We align on protobuf, netty, gson. We could use their version of guava
instead of 22.0 (theirs is 19.0). Would take a few hours I'd say. Would then need a dumb test
up in hbase.git that made use of the shaded grpc to make sure it basically works (w/o its
version of findbugs, etc.).  Here is list of what the shade touched (need to work on my filters
to keep out some of the below).

{code}
[INFO] Including io.grpc:grpc-all:jar:1.4.0 in the shaded jar.
[INFO] Including io.grpc:grpc-auth:jar:1.4.0 in the shaded jar.
[INFO] Including com.google.auth:google-auth-library-credentials:jar:0.4.0 in the shaded jar.
[INFO] Including io.grpc:grpc-core:jar:1.4.0 in the shaded jar.
[INFO] Including com.google.guava:guava:jar:19.0 in the shaded jar.
[INFO] Excluding com.google.errorprone:error_prone_annotations:jar:2.0.19 from the shaded
jar.
[INFO] Excluding com.google.code.findbugs:jsr305:jar:3.0.0 from the shaded jar.
[INFO] Including com.google.instrumentation:instrumentation-api:jar:0.4.2 in the shaded jar.
[INFO] Including io.grpc:grpc-context:jar:1.4.0 in the shaded jar.
[INFO] Including io.grpc:grpc-netty:jar:1.4.0 in the shaded jar.
[INFO] Including io.netty:netty-codec-http2:jar:4.1.11.Final in the shaded jar.
[INFO] Including io.netty:netty-codec-http:jar:4.1.11.Final in the shaded jar.
[INFO] Including io.netty:netty-codec:jar:4.1.11.Final in the shaded jar.
[INFO] Including io.netty:netty-handler:jar:4.1.11.Final in the shaded jar.
[INFO] Including io.netty:netty-buffer:jar:4.1.11.Final in the shaded jar.
[INFO] Including io.netty:netty-common:jar:4.1.11.Final in the shaded jar.
[INFO] Including io.netty:netty-handler-proxy:jar:4.1.11.Final in the shaded jar.
[INFO] Including io.netty:netty-transport:jar:4.1.11.Final in the shaded jar.
[INFO] Including io.netty:netty-resolver:jar:4.1.11.Final in the shaded jar.
[INFO] Including io.netty:netty-codec-socks:jar:4.1.11.Final in the shaded jar.
[INFO] Including io.grpc:grpc-okhttp:jar:1.4.0 in the shaded jar.
[INFO] Including com.squareup.okhttp:okhttp:jar:2.5.0 in the shaded jar.
[INFO] Including com.squareup.okio:okio:jar:1.6.0 in the shaded jar.
[INFO] Including io.grpc:grpc-protobuf:jar:1.4.0 in the shaded jar.
[INFO] Including com.google.protobuf:protobuf-java:jar:3.3.1 in the shaded jar.
[INFO] Including com.google.protobuf:protobuf-java-util:jar:3.3.1 in the shaded jar.
[INFO] Including com.google.code.gson:gson:jar:2.7 in the shaded jar.
[INFO] Including com.google.api.grpc:proto-google-common-protos:jar:0.1.9 in the shaded jar.
[INFO] Including io.grpc:grpc-protobuf-lite:jar:1.4.0 in the shaded jar.
[INFO] Including com.google.protobuf:protobuf-lite:jar:3.0.1 in the shaded jar.
[INFO] Including io.grpc:grpc-protobuf-nano:jar:1.4.0 in the shaded jar.
[INFO] Including com.google.protobuf.nano:protobuf-javanano:jar:3.0.0-alpha-5 in the shaded
jar.
[INFO] Including io.grpc:grpc-stub:jar:1.4.0 in the shaded jar.
{code}

> Provide streaming APIs with SSL/TLS
> -----------------------------------
>
>                 Key: HBASE-17721
>                 URL: https://issues.apache.org/jira/browse/HBASE-17721
>             Project: HBase
>          Issue Type: Umbrella
>          Components: rpc, security
>            Reporter: Alex Araujo
>            Assignee: Alex Araujo
>             Fix For: 2.0.0
>
>
> 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)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message