[
https://issues.apache.org/jira/browse/HBASE-11118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Dimiduk updated HBASE-11118:
---------------------------------
Attachment: shade_attempt.patch
I experimented a bit this morning with shade plugin. Performing the rewrite in
hbase-protocol/pom.xml leads to errors building hbase-client.
{noformat}
[ERROR]
/Users/ndimiduk/repos/hbase/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java:[1494,33]
error: method newBlockingStub in class MasterService cannot be applied to g
iven types;
[ERROR] required: com.shaded.google.protobuf.BlockingRpcChannel
found: com.google.protobuf.BlockingRpcChannel
reason: actual argument com.google.protobuf.BlockingRpcChannel cannot be
converted to com.shaded.google.protobuf.BlockingRpcChannel by method invocation
conversion
{noformat}
We need the shade plugin to cascade bytecode rewrite down to the dependent
modules in the project. I don't see a way to do that.
> non environment variable solution for "IllegalAccessError: class
> com.google.protobuf.ZeroCopyLiteralByteString cannot access its superclass
> com.google.protobuf.LiteralByteString"
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-11118
> URL: https://issues.apache.org/jira/browse/HBASE-11118
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.98.2
> Reporter: André Kelpe
> Fix For: 0.99.0, 0.98.3
>
> Attachments: shade_attempt.patch
>
>
> I am running into the problem described in
> https://issues.apache.org/jira/browse/HBASE-10304, while trying to use a
> newer version within cascading.hbase
> (https://github.com/cascading/cascading.hbase).
> One of the features of cascading.hbase is that you can use it from lingual
> (http://www.cascading.org/projects/lingual/), our SQL layer for hadoop.
> lingual has a notion of providers, which are fat jars that we pull down
> dynamically at runtime. Those jars give users the ability to talk to any
> system or format from SQL. They are added to the classpath programmatically
> before we submit jobs to a hadoop cluster.
> Since lingual does not know upfront , which providers are going to be used in
> a given run, the HADOOP_CLASSPATH trick proposed in the JIRA above is really
> clunky and breaks the ease of use we had before. No other provider requires
> this right now.
> It would be great to have a programmatical way to fix this, when using fat
> jars.
--
This message was sent by Atlassian JIRA
(v6.2#6252)