It looks like the error you provided is failing on the instantiation of TraceProtocolFactory which extends TCompactProtocol.Factory.

For whatever reason, the version of TCompactProtocol.Factory that is being found is final, and thus TraceProtocolFactory cannot be instantiated.

Pulling up the source for Thrift-0.9.0, we can find the declaration of the Factory class in TCompactProtocol ("public static class Factory implements TProtocolFactory") which definitely doesn't have any final modifier.

In short, I would recommend that you inspect your classpath and ensure that you do not have a different version of Thrift being leaked in from some other project than Accumulo.

On 6/19/14, 7:37 AM, Sivan Sasidharan wrote:
Facing issue in running oozie workflow - The MR jobs are configured to
read/write from Accumulo.
On workflow submission the below error is thrown.
Cross checked on the thrift version available in oozie, accumulo &
version used within the MRCode, & all the versions are the same  -
Version libthrift.0.9.0
I'm running the same in CDH4.5 Cluster with Accumulo 1.5.1 configured.

Tried running the the same using hadoop jar and it succeeds.

What would be the possible reason when submitting from Oozie ? Any help
is appreciated.

Launcher exception: Cannot inherit from final class
java.lang.VerifyError: Cannot inherit from final class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.apache.accumulo.core.util.ThriftUtil.<clinit>(ThriftUtil.java:82)
at
org.apache.accumulo.core.client.impl.ThriftTransportPool.createNewTransport(ThriftTransportPool.java:496)
at
org.apache.accumulo.core.client.impl.ThriftTransportPool.getAnyTransport(ThriftTransportPool.java:447)
at
org.apache.accumulo.core.client.impl.ServerClient.getConnection(ServerClient.java:154)
at
org.apache.accumulo.core.client.impl.ServerClient.getConnection(ServerClient.java:128)
at
org.apache.accumulo.core.client.impl.ServerClient.getConnection(ServerClient.java:123)
at
org.apache.accumulo.core.client.impl.ServerClient.executeRaw(ServerClient.java:105)
at
org.apache.accumulo.core.client.impl.ServerClient.execute(ServerClient.java:71)
at
org.apache.accumulo.core.client.impl.ConnectorImpl.<init>(ConnectorImpl.java:64)
at
org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(ZooKeeperInstance.java:228)
at
org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(ZooKeeperInstance.java:223)
at
org.apache.accumulo.core.client.mapreduce.lib.util.InputConfigurator.validateOptions(InputConfigurator.java:531)
at
org.apache.accumulo.core.client.mapreduce.InputFormatBase.validateOptions(InputFormatBase.java:532)
at
org.apache.accumulo.core.client.mapreduce.InputFormatBase.getSplits(InputFormatBase.java:806)
at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:1079)
at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:1096)
at org.apache.hadoop.mapred.JobClient.access$600(JobClient.java:177)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:995)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:948)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:948)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:566)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:596)

Thanks
Sivan Sasidharan

Reply via email to