[ https://issues.apache.org/jira/browse/HBASE-11118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14031108#comment-14031108 ]
ryan rawson commented on HBASE-11118: ------------------------------------- Protostuff is wireline compatible with protobuf 2.5. The project is in active use, and we maintain, improve and fix it. In terms of API, it has a different API than protobuf, by necessity, since ByteString, by design, forces a copy on you. Our solution is to use ByteBuffer as an alternative fundamental byte-holder type. Additionally, fixing and improving the project is really trivial. The code is easy to work with, it's fully in Java (including the compiler), the code-generation is a templating engine, and no more committing generated code (big anti-pattern). > 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 > Assignee: Andrew Purtell > Priority: Blocker > Fix For: 0.99.0, 0.98.4 > > Attachments: HBASE-11118-0.98.patch.gz, HBASE-11118-trunk.patch.gz, > 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)