Abhishek Singh Chouhan created HBASE-16660: ----------------------------------------------
Summary: ArrayIndexOutOfBounds during the majorCompactionCheck in DateTieredCompaction Key: HBASE-16660 URL: https://issues.apache.org/jira/browse/HBASE-16660 Project: HBase Issue Type: Bug Components: Compaction Affects Versions: 0.98.20 Reporter: Abhishek Singh Chouhan Assignee: Abhishek Singh Chouhan Fix For: 2.0.0, 1.4.0, 0.98.23 We get an ArrayIndexOutOfBoundsException during the major compaction check as follows {noformat} 2016-09-19 05:04:18,287 ERROR [20.compactionChecker] regionserver.HRegionServer$CompactionChecker - Caught exception java.lang.ArrayIndexOutOfBoundsException: -2 at org.apache.hadoop.hbase.regionserver.compactions.DateTieredCompactionPolicy.shouldPerformMajorCompaction(DateTieredCompactionPolicy.java:159) at org.apache.hadoop.hbase.regionserver.HStore.isMajorCompaction(HStore.java:1412) at org.apache.hadoop.hbase.regionserver.HRegionServer$CompactionChecker.chore(HRegionServer.java:1532) at org.apache.hadoop.hbase.Chore.run(Chore.java:80) at java.lang.Thread.run(Thread.java:745) {noformat} This happens due to the following lines in org.apache.hadoop.hbase.regionserver.compactions.DateTieredCompactionPolicy.selectMajorCompaction {noformat} int lowerWindowIndex = Collections.binarySearch(boundaries, minTimestamp == null ? Long.MAX_VALUE : file.getMinimumTimestamp()); int upperWindowIndex = Collections.binarySearch(boundaries, file.getMaximumTimestamp() == null ? Long.MAX_VALUE : file.getMaximumTimestamp()); {noformat} These return negative values if the element is not found and in the case the values are equal we get the exception. -- This message was sent by Atlassian JIRA (v6.3.4#6332)