HFile.appendMetaBlock() uses wrong comparator
---------------------------------------------
Key: HBASE-3155
URL: https://issues.apache.org/jira/browse/HBASE-3155
Project: HBase
Issue Type: Bug
Reporter: Nicolas Spiegelberg
Assignee: Nicolas Spiegelberg
Priority: Critical
Fix For: 0.90.0
We hit this exception last night...
2010-10-26 01:20:20,056 INFO org.apache.hadoop.hbase.regionserver.StoreFile:
Bloom added to HFile (...): 18752B, 13012/13601 (96%)
2010-10-26 01:20:20,056 INFO org.apache.hadoop.hbase.regionserver.HRegion:
aborted compaction on region
04,04c84c80,1286302852528.77d461b19c7f410041f1d03f4823ef8b. after 20mins, 43sec
2010-10-26 01:20:20,056 ERROR
org.apache.hadoop.hbase.regionserver.CompactSplitThread: Compaction failed for
region 04,04c84c80,1286302852528.77d461b19c7f410041f1d03f4823ef8b.
java.lang.ArrayIndexOutOfBoundsException: 17
at org.apache.hadoop.hbase.util.Bytes.compareTo(Bytes.java:860)
at
org.apache.hadoop.hbase.KeyValue$KeyComparator.compareRows(KeyValue.java:1888)
at org.apache.hadoop.hbase.KeyValue$KeyComparator.compare(KeyValue.java:1822)
at org.apache.hadoop.hbase.io.hfile.HFile$Writer.appendMetaBlock(HFile.java:476)
at
org.apache.hadoop.hbase.regionserver.StoreFile$Writer.close(StoreFile.java:862)
at org.apache.hadoop.hbase.regionserver.Store.compact(Store.java:896)
at org.apache.hadoop.hbase.regionserver.Store.compact(Store.java:687)
at org.apache.hadoop.hbase.regionserver.HRegion.compactStores(HRegion.java:858)
at org.apache.hadoop.hbase.regionserver.HRegion.compactStores(HRegion.java:807)
The problem is that appendMetaBlock() is using the wrong comparator. although
the variable is called 'rawComparator', it's actually a normal comparator
(KeyComparator) that defaults to RawComparator if not specified. All meta
sorting needs to be done using the actual Bytes.RAW_COMPARATOR. This happened
because >=2 things were inserted into meta.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.