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)

Reply via email to