I think your keyLen is too large. Your block length is 16415 while
your currKeyLen
is 16777280.
For hbase source
if (currKeyLen < 0 || currValueLen < 0
|| currKeyLen > blockBuffer.limit()
|| currValueLen > blockBuffer.limit()) {
throw new IllegalStateException("Invalid currKeyLen " + currKeyLen
+ " or currValueLen " + currValueLen + ". Block offset: "
+ block.getOffset() + ", block length: " + blockBuffer.limit()
+ ", position: " + blockBuffer.position() + " (without
header).");
}
On Tue, Mar 18, 2014 at 10:14 PM, Sudarshan Kadambi (BLOOMBERG/ 731 LEXIN) <
[email protected]> wrote:
> Hi Folks:
>
> We've a table that we're unable to make online. A scan on this table
> yields the following stack trace. hbck doesn't report any inconsistencies.
> I went ahead and did a repair, which didn't make a difference. Any tips?
>
> ERROR: java.io.IOException: Invalid currKeyLen 16777280 or currValueLen
> 64. Block offset: 274609471488, block length: 16415, position: 0 (without
> header).
> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2213)
> at
> org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1879)
> Caused by: java.lang.IllegalStateException: Invalid currKeyLen 16777280 or
> currValueLen 64. Block offset: 274609471488, block length: 16415, position:
> 0 (without header).
> at
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.readKeyValueLen(HFileReaderV2.java:820)
> at
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.updateCurrBlock(HFileReaderV2.java:787)
> at
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.seekTo(HFileReaderV2.java:749)
> at
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:232)
> at
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:145)
> at
> org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:168)
> at
> org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:1642)
> at
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.<init>(HRegion.java:3460)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1768)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1760)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1737)
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:2996)
> at
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:26929)
> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2175)
> ... 1 more
>
>
--
Best Regards,
Haosdent Huang