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-16264) Figure how to deal with endpoints and shaded pb
Date Sat, 06 Aug 2016 05:57:20 GMT

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

stack commented on HBASE-16264:
-------------------------------

Learnings:

 # We have a few Coprocessor Endpoints (CPEP) in the codebase currently scattered about.
 # Currently CPEP .protos that are in the codebase have their .protos mixed in with all the
rest under hbase-protocol. But when we shade, all com.google.protobuf references are relocated.
It means that there is a chasm between the client coming in on com.google.protobuf and our
relocated org.apache.hadoop.hbase.shaded.com.google.protobuf.* references.
 # I tried to move all CPEP protos and supporting classes into a new hbase-endpoint module,
one that does not have shading on it. The thought was that the requests in to Table on com.google.protobuf
looking to run a CPEP c.g.p.*Service could travel down through the server as com.google.protobuf.*.
Classes that dealt with CPEP had their imports adjusted to NOT be shaded references to protobuf.
# I got pretty far but have now run into a wall. CPEP .protos, unfortunately, are not standalone;
if they were, the above tactic would 'work'. What I mean by their not being standalone is
that CPEPs will reference back into base HBase .protos so they can do Mutations and Results;
e.g. MultiRowMutationProcessor imports Client.proto. But the contents of Client.proto will
have been shaded and MultiRowMutationProcessor classes will not have been. The latter will
be trying to pass to com.google.protobuf.* Types to the former Cilent.proto classes as params,
etc., but since the Client.proto classes have been relocated, they are expecting o.h.h.shaded.c.g.p.*
Types. I've run into the chasm again. Not sure how to bridge it.

> Figure how to deal with endpoints and shaded pb
> -----------------------------------------------
>
>                 Key: HBASE-16264
>                 URL: https://issues.apache.org/jira/browse/HBASE-16264
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Coprocessors, Protobufs
>            Reporter: stack
>            Assignee: stack
>
> Come up w/ a migration plan for coprocessor endpoints when our pb is shaded. Would be
sweet if could make it so all just worked. At worst, come up w/ a prescription for how to
migrate existing CPs.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message