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-16761) Migrate existing protobuf2.5.0 Coprocessor Endpoints (and servers-side hbase) to protobuf3.
Date Wed, 05 Oct 2016 06:41:20 GMT

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

stack commented on HBASE-16761:

This is a little tricky.

Our Admin and Table will always refer to com.google.protobuf. We do not want to expose our
internal protos, the stuff at o.a.h.h.shaded.*.

What this issue is about is CPEPs that depend on pb2.5. They are dumped our CLASSPATH server-side
as a jar that expects to find pb2.5 on the CLASSPATH. Somehow we have to give out the message
that pb2.5 is going away server-side and that if a CPEP wants to use pb2.5 after a certain
point, then they will have to bundle it themselves.

> Migrate existing protobuf2.5.0 Coprocessor Endpoints (and servers-side hbase) to protobuf3.
> -------------------------------------------------------------------------------------------
>                 Key: HBASE-16761
>                 URL: https://issues.apache.org/jira/browse/HBASE-16761
>             Project: HBase
>          Issue Type: Task
>          Components: Coprocessors
>    Affects Versions: 2.0.0
>            Reporter: stack
>            Priority: Critical
> HBase bundles seven or eight coprocessors. These Coprocessor Endpoints (CPEPs) depend
currently on protobuf 2.5 and reference protobuf classes at com.google.protobuf.* rather than
at the internal relocated location of org.apache.hadoop.hbase.shaded.com.google.protobuf.
> This is issue is about moving our CPEPs to protobuf3.
> I could just replace the protobuf library we depend on making it pb3 but that would break
CPEPs that were not shipped as part of hbase core when we install hbase-2.0.0. Over in HBASE-15638
Shade protobuf we did a bunch of work to ensure CPEPs keep working across the upgrade to hbase-2.0.0
so I suggest we just leave our core CPEPs at pb2.5 for now. Rather, lets have a deprecation
cycle where we deprecate pb2.5 on the hbase server-side (somehow) for hbase-2.0.0 and then
remove pb2.5 in hbase-3.0.0 (or 2.1 or something).
> Would appreciate input on this one. Let me mark this a 2.0.0 critical so it gets some
attention before we finish up the 2.0.0 release.

This message was sent by Atlassian JIRA

View raw message