The row key byte[] you are passing in Get() has a length of 0. HBase data model does not allow 0-length row key, it should be at least 1 byte. 0-byte row key is reserved for internal usage (to designate empty start key and end keys).
In your storm topology, you are probably passing a row key that is 0-length. You can just add a condition there. Enis On Tue, Feb 9, 2016 at 5:50 AM, Raja.Aravapalli <[email protected]> wrote: > > Thanks for the response Ted. > > Please refer to the code of HBaseClient @ > https://github.com/apache/storm/blob/0.9.3-branch/external/storm-hbase/src/ > main/java/org/apache/storm/hbase/common/HBaseClient.java > > > Thanks. > > > Regards, > Raja Mahesh Aravapalli, > Raja.Aravapalli (IM)| [email protected] | +91-9900-300-945. > > > > > On 2/9/16, 7:15 PM, "Ted Yu" <[email protected]> wrote: > > >Can you give us a bit more information ? > > > >Release of hbase > > > >snippet of your code (especially HBaseClient.java) related to the stack > >trace > > > >Thanks > > > >On Tue, Feb 9, 2016 at 2:47 AM, Raja.Aravapalli > ><[email protected]> > >wrote: > > > >> > >> Hi, > >> > >> HBase table lookup is failing with below exception. Someone please help > >>me > >> in fixing this: > >> > >> > >> java.lang.RuntimeException: java.lang.IllegalArgumentException: Row > >>length > >> is 0 at > >> > >>backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.j > >>ava:128) > >> at > >> > >>backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQu > >>eue.java:99) > >> at > >> > >>backtype.storm.disruptor$consume_batch_when_available.invoke( > disruptor.cl > >>j:80) > >> at > >> > >>backtype.storm.daemon.executor$fn__5265$fn__5278$fn__5329.invoke(executor > >>.clj:794) > >> at backtype.storm.util$async_loop$fn__551.invoke(util.clj:465) at > >> clojure.lang.AFn.run(AFn.java:24) at > >>java.lang.Thread.run(Thread.java:744) > >> Caused by: java.lang.IllegalArgumentException: Row length is 0 at > >> org.apache.hadoop.hbase.client.Mutation.checkRow(Mutation.java:503) at > >> org.apache.hadoop.hbase.client.Mutation.checkRow(Mutation.java:487) at > >> org.apache.hadoop.hbase.client.Get.<init>(Get.java:89) at > >> > >>org.apache.storm.hbase.common.HBaseClient.constructGetRequests(HBaseClien > >>t.java:112) > >> at > >> > >>org.apache.storm.hbase.bolt.HBaseLookupBolt.execute(HBaseLookupBolt.java: > >>65) > >> at > >> > >>backtype.storm.daemon.executor$fn__5265$tuple_action_fn__5267.invoke(exec > >>utor.clj:659) > >> at > >> > >>backtype.storm.daemon.executor$mk_task_receiver$fn__5188.invoke(executor. > >>clj:415) > >> at > >> > >>backtype.storm.disruptor$clojure_handler$reify__1064.onEvent( > disruptor.cl > >>j:58) > >> at > >> > >>backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.j > >>ava:125) > >> ... 6 more > >> > >> > >> I am using a storm application to do a lookup in HBase table, Get > >>request > >> is failing/throwing an exception for a rowkey specified for lookup. > >>Please > >> help me on finding the issue and fixing it.... > >> > >> > >> > >> > >> Regards, > >> Raja Mahesh Aravapalli. > >> > >
