Hi,

For the HBase lookup bolt of my storm topology, i am facing below exception... 
Request your help to identify and fix the issue ASAP.

java.lang.RuntimeException: java.lang.IllegalArgumentException: Row length is 0 
at 
backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:128)
 at 
backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99)
 at 
backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj: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(HBaseClient.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(executor.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.clj:58) 
at 
backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125)
 ... 6 more


 Code used:

public class LookUpHBaseBolt {

    public static HBaseLookupBolt getHBaseLookupBolt(String rkey, String 
colfam, String tablename) {

        SimpleHBaseMapper lookupMapper = new 
SimpleHBaseMapper().withRowKeyField(rkey);

        HBaseProjectionCriteria projectCriteria = new HBaseProjectionCriteria();
        projectCriteria.addColumnFamily(colfam);

        HBaseRowValueMapper row2TupleMapper = new HBaseRowValueMapper();

        HBaseLookupBolt hbaseLkpBolt = new HBaseLookupBolt(tablename, 
lookupMapper, row2TupleMapper)
                .withProjectionCriteria(projectCriteria);

        return hbaseLkpBolt;
    }

}

Please share your thoughts and help me fix the issue. Thanks.


Regards,
Raja.

Reply via email to