[
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
(v6.3.4#6332)