You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Dmitry Goldenberg (JIRA)" <ji...@apache.org> on 2015/04/27 00:37:38 UTC

[jira] [Created] (PHOENIX-1926) Attempt to update a record in HBase via Phoenix from a Spark job causes java.lang.IllegalAccessError: class com.google.protobuf.HBaseZeroCopyByteString cannot access its superclass com.google.protobuf.LiteralByteString

Dmitry Goldenberg created PHOENIX-1926:
------------------------------------------

             Summary: Attempt to update a record in HBase via Phoenix from a Spark job causes java.lang.IllegalAccessError: class com.google.protobuf.HBaseZeroCopyByteString cannot access its superclass com.google.protobuf.LiteralByteString
                 Key: PHOENIX-1926
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1926
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.3.1
         Environment: centos  x86_64 GNU/Linux
Phoenix: 4.3.1 custom built for HBase 0.98.9, Hadoop 2.4.0
HBase: 0.98.9-hadoop2
Hadoop: 2.4.0
Spark: spark-1.3.0-bin-hadoop2.4
            Reporter: Dmitry Goldenberg
            Priority: Critical


Performing an UPSERT from within a Spark job, 

UPSERT INTO items(entry_id, prop1, pop2) VALUES(?, ?, ?)

causes
15/04/26 18:22:06 WARN client.HTable: Error calling coprocessor service org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService for row \x00\x00UPLOAD_WORKQUEUE
java.util.concurrent.ExecutionException: java.lang.IllegalAccessError: class com.google.protobuf.HBaseZeroCopyByteString cannot access its superclass com.google.protobuf.LiteralByteString
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at org.apache.hadoop.hbase.client.HTable.coprocessorService(HTable.java:1620)
        at org.apache.hadoop.hbase.client.HTable.coprocessorService(HTable.java:1577)
        at org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1007)
        at org.apache.phoenix.query.ConnectionQueryServicesImpl.getTable(ConnectionQueryServicesImpl.java:1257)
        at org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:350)
        at org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:311)
        at org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:307)
        at org.apache.phoenix.compile.FromCompiler$BaseColumnResolver.createTableRef(FromCompiler.java:333)
        at org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.<init>(FromCompiler.java:237)
        at org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.<init>(FromCompiler.java:231)
        at org.apache.phoenix.compile.FromCompiler.getResolverForMutation(FromCompiler.java:207)
        at org.apache.phoenix.compile.UpsertCompiler.compile(UpsertCompiler.java:248)
        at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:503)
        at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:494)
        at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:295)
        at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:288)
        at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
        at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:287)
        at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:219)
        at org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:174)
        at org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:179)
...........................................
Caused by: java.lang.IllegalAccessError: class com.google.protobuf.HBaseZeroCopyByteString cannot access its superclass com.google.protobuf.LiteralByteString
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at org.apache.phoenix.query.ConnectionQueryServicesImpl$7.call(ConnectionQueryServicesImpl.java:1265)
        at org.apache.phoenix.query.ConnectionQueryServicesImpl$7.call(ConnectionQueryServicesImpl.java:1258)
        at org.apache.hadoop.hbase.client.HTable$17.call(HTable.java:1608)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)




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