On Mon, Dec 4, 2017 at 10:10 PM, Manjeet Singh <manjeet.chand...@gmail.com> wrote:
> Thanks for your reply, I have two different projects which took records > from Hbase > 1 Project is spark job and using solr for free text search -Here we are > using ProtoBuff > 2 Project is for pointed access (where I know exact rowkey)- Here we are > not using ProtoBuff and we are getting Exception here on creation of Table > object. > > In both case we are using Hbase Native API if Hbase internally using > protobuff 2.5.0 so why my project 1 is working fine this question is comes > to my mind > > Because order of protobuf jars is different between the two usages? St.Ack > Thanks > Manjeet Singh > > ---------- Forwarded message ---------- > From: Stack <st...@duboce.net> > Date: Tue, Dec 5, 2017 at 3:36 AM > Subject: Re: what is the role of ProtoBuffer while creating of instance of > Table/Htable > To: Hbase-User <user@hbase.apache.org> > > > HBase uses pb2.5.0. Is it an incompatibility between 2.4.1 and 2.5.0 pb? If > you look at classpath, is your projects 2.4.1 pb jar coming ahead of the > hbase pb jar? > Thanks, > S > > On Sun, Dec 3, 2017 at 10:52 AM, Manjeet Singh <manjeet.chand...@gmail.com > > > wrote: > > > Hi All, > > > > I am facing one issue where I have two different DAL in one project i.e. > > 1. DAL simply build using java and Native API. > > 2. Spark Job using Java and Native API. (Also using protocol buffer in > this > > project) > > > > In our Project the second one is having ( the spark job one) > implementation > > of searching using solr here we are using protocol buffere for some > > different business needs. > > In First it was simple java native code were we are accessing Hbase using > > simple Get by passing Rowkey. > > > > These project also work fine if I run these two sepratlly but when I > > clube thse with from one UI and try to execute our use cases I got below > > exception > > > > It's clear that its something about protocol buffer... > > > > We have compiled classes of protocol buffer using below dependecies > > > > > > <dependency> > > <groupId>com.google.protobuf</groupId> > > <artifactId>protobuf-java</artifactId> > > <version>2.4.1</version> > > <scope>provided</scope> > > </dependency> > > > > > > > > > > Hbase :- > > > > <dependency> > > <groupId>org.apache.hbase</groupId> > > <artifactId>hbase-client</artifactId> > > <version>1.2.0-cdh5.8.0</version> > > <scope>compile</scope> > > <exclusions> > > <exclusion> > > <artifactId>jdk.tools</artifactId> > > <groupId>jdk.tools</groupId> > > </exclusion> > > </exclusions> > > </dependency> > > > > > > java.io.IOException: java.lang.reflect.InvocationTargetException > > at > > org.apache.hadoop.hbase.client.ConnectionFactory.createConnection( > > ConnectionFactory.java:240) > > at > > org.apache.hadoop.hbase.client.ConnectionFactory.createConnection( > > ConnectionFactory.java:218) > > at > > org.apache.hadoop.hbase.client.ConnectionFactory.createConnection( > > ConnectionFactory.java:119) > > Caused by: java.lang.reflect.InvocationTargetException > > 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.apache.hadoop.hbase.client.ConnectionFactory.createConnection( > > ConnectionFactory.java:238) > > ... 15 more > > Caused by: java.lang.VerifyError: class > > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides > > final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet; > > at java.lang.ClassLoader.defineClass1(Native Method) > > at java.lang.ClassLoader.defineClass(ClassLoader.java:763) > > 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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at > > org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit> > > (ProtobufUtil.java:210) > > at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64) > > at > > org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode( > > ZKClusterId.java:75) > > at > > org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId( > > ZooKeeperRegistry.java:105) > > at > > org.apache.hadoop.hbase.client.ConnectionManager$ > > HConnectionImplementation.retrieveClusterId(ConnectionManager.java:919) > > at > > org.apache.hadoop.hbase.client.ConnectionManager$ > > HConnectionImplementation.<init>(ConnectionManager.java:657) > > ... 20 more > > > > > > Can anyone help me to fix this issue using protobuff 2.4.1 version only > > > > Thanks > > Manjeet Singh > > > > > > -- > luv all >