Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to define class HBaseZeroCopyByteString #2127

Closed
tdiesler opened this issue Sep 29, 2017 · 2 comments · Fixed by #2347
Closed

Failed to define class HBaseZeroCopyByteString #2127

tdiesler opened this issue Sep 29, 2017 · 2 comments · Fixed by #2347
Assignees
Labels
Milestone

Comments

@tdiesler
Copy link
Contributor

tdiesler commented Sep 29, 2017

mvn clean install -Dtest=HBaseIntegrationTest
11:14:10,720 WARN  [org.jboss.modules] (hconnection-0x666cd0ed-metaLookup-shared--pool1-t1) Failed to define class com.google.protobuf.HBaseZeroCopyByteString in Module "org.apache.hbase:main" from local module loader @32cf48b7 (finder: local module finder @679b62af (roots: /Users/tdiesler/git/wildfly-camel/itests/standalone/extra/target/wildfly-10.1.0.Final/modules,/Users/tdiesler/git/wildfly-camel/itests/standalone/extra/target/wildfly-10.1.0.Final/modules/system/layers/fuse,/Users/tdiesler/git/wildfly-camel/itests/standalone/extra/target/wildfly-10.1.0.Final/modules/system/layers/base)): java.lang.IllegalAccessError: Failed to link com/google/protobuf/HBaseZeroCopyByteString (Module "org.apache.hbase:main" from local module loader @32cf48b7 (finder: local module finder @679b62af (roots: /Users/tdiesler/git/wildfly-camel/itests/standalone/extra/target/wildfly-10.1.0.Final/modules,/Users/tdiesler/git/wildfly-camel/itests/standalone/extra/target/wildfly-10.1.0.Final/modules/system/layers/fuse,/Users/tdiesler/git/wildfly-camel/itests/standalone/extra/target/wildfly-10.1.0.Final/modules/system/layers/base))): class com.google.protobuf.HBaseZeroCopyByteString cannot access its superclass com.google.protobuf.LiteralByteString
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:446)
	at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:274)
	at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:78)
	at org.jboss.modules.Module.loadModuleClass(Module.java:606)
	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)
	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
	at org.apache.hadoop.hbase.util.ByteStringer.<clinit>(ByteStringer.java:44)
	at org.apache.hadoop.hbase.protobuf.RequestConverter.buildRegionSpecifier(RequestConverter.java:1037)
	at org.apache.hadoop.hbase.protobuf.RequestConverter.buildScanRequest(RequestConverter.java:488)
	at org.apache.hadoop.hbase.client.ClientSmallScanner$SmallScannerCallable.call(ClientSmallScanner.java:194)
	at org.apache.hadoop.hbase.client.ClientSmallScanner$SmallScannerCallable.call(ClientSmallScanner.java:180)
	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)
	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:360)
	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:334)
	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126)
	at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:65)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

caused by

com.google.protobuf.HBaseZeroCopyByteString cannot access its superclass 
com.google.protobuf.LiteralByteString
@tdiesler tdiesler added the bug label Sep 29, 2017
@tdiesler tdiesler added this to the 4.9.0 milestone Sep 29, 2017
@tdiesler
Copy link
Contributor Author

tdiesler commented Sep 29, 2017

com.google.protobuf.HBaseZeroCopyByteString come from hbase-protocol-1.2.1.jar
com.google.protobuf.LiteralByteString comes from protobuf-java-2.5.0.jar

This seems to be a split package issue

@tdiesler
Copy link
Contributor Author

tdiesler commented Sep 29, 2017

Here is the hbase hack

$ jar tf ~/.m2/repository/org/apache/hbase/hbase-protocol/1.2.1/hbase-protocol-1.2.1.jar | grep google
com/google/
com/google/protobuf/
com/google/protobuf/HBaseZeroCopyByteString.class

So they put a class in package com.google.protobuf to access a package protected constructor in com.google.protobuf.LiteralByteString. I don't think this is supported in modules

@tdiesler tdiesler modified the milestones: 4.9.0, 4.10.0 Oct 2, 2017
@tdiesler tdiesler self-assigned this Nov 7, 2017
@tdiesler tdiesler changed the title Failed to define class com.google.protobuf.HBaseZeroCopyByteString Failed to define class HBaseZeroCopyByteString Nov 30, 2017
tdiesler added a commit to tdiesler/wildfly-camel that referenced this issue Dec 1, 2017
[resolves wildfly-extras#2127] Failed to define class HBaseZeroCopyByteString
tdiesler added a commit to tdiesler/wildfly-camel that referenced this issue Dec 1, 2017
[resolves wildfly-extras#2127] Failed to define class HBaseZeroCopyByteString
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant