[
https://issues.apache.org/jira/browse/HBASE-16660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell updated HBASE-16660:
-----------------------------------
Resolution: Fixed
Hadoop Flags: Reviewed
Fix Version/s: 1.3.0
Status: Resolved (was: Patch Available)
Pushed, thanks for the patch [~abhishek.chouhan]
> 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.3.0, 1.4.0, 0.98.23
>
> Attachments: HBASE-16660-0.98.patch, HBASE-16660.master.001.patch,
> HBASE-16660.master.001.patch
>
>
> 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)