I have an MR process that populates a table but fails with this error:

java.io.IOException: java.io.IOException: Cannot open filename /hbase/ webmaps/743469791/header/mapfiles/4735713346568547172/data at org.apache.hadoop.hdfs.DFSClient $DFSInputStream.openInfo(DFSClient.java:1395) at org.apache.hadoop.hdfs.DFSClient $DFSInputStream.chooseDataNode(DFSClient.java:1720) at org.apache.hadoop.hdfs.DFSClient $DFSInputStream.blockSeekTo(DFSClient.java:1536) at org.apache.hadoop.hdfs.DFSClient $DFSInputStream.read(DFSClient.java:1663) at org.apache.hadoop.hdfs.DFSClient $DFSInputStream.read(DFSClient.java:1593)
        at java.io.DataInputStream.readInt(DataInputStream.java:370)
at org.apache.hadoop.hbase.io.SequenceFile $Reader.readRecordLength(SequenceFile.java:1909) at org.apache.hadoop.hbase.io.SequenceFile $Reader.next(SequenceFile.java:1939) at org.apache.hadoop.hbase.io.SequenceFile $Reader.next(SequenceFile.java:1844) at org.apache.hadoop.hbase.io.MapFile $Reader.seekInternal(MapFile.java:472) at org.apache.hadoop.hbase.io.MapFile$Reader.getClosest(MapFile.java: 567) at org.apache.hadoop.hbase.io.MapFile$Reader.getClosest(MapFile.java: 550) at org.apache.hadoop.hbase.io.BloomFilterMapFile $Reader.getClosest(BloomFilterMapFile.java:112)
        at org.apache.hadoop.hbase.regionserver.HStore.get(HStore.java:1485)
        at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:975)
at org .apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java: 1504)
        at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at sun .reflect .DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:632)
at org.apache.hadoop.hbase.ipc.HBaseServer $Handler.run(HBaseServer.java:894)

The MR process needs to check to make sure the row is the latest before inserting it so it calls htable.get(key) in the mr process. This is where the process fails.

I also tried performing a get 'table', 'key' in the shell with the same error. I verified that the file is missing in hadoop. It looks like HBase did not update its reference after a split/region assignment. Is anyone else experiencing this?

using 732094 from trunk.

Thanks for your help,
Dru

Reply via email to