[ https://issues.apache.org/jira/browse/HBASE-12454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell updated HBASE-12454: ----------------------------------- Attachment: HBASE-12454-0.98.patch > Setting didPerformCompaction early in HRegion#compact > ----------------------------------------------------- > > Key: HBASE-12454 > URL: https://issues.apache.org/jira/browse/HBASE-12454 > Project: HBase > Issue Type: Bug > Affects Versions: 0.98.8 > Reporter: Andrew Purtell > Attachments: HBASE-12454-0.98.patch > > > It appears we are setting 'didPerformCompaction' to "true" before attempting > the compaction in HRegion#compact. If Store#compact throws an exception or is > interrupted, we won't call Store#cancelRequestedCompaction in the last > finally block of the method as it looks like we should. > {code} > --- > a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java > +++ > b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java > @@ -1565,8 +1565,8 @@ public class HRegion implements HeapSize, > PropagatingConfigurationObserver { // > doRegionCompactionPrep(); > try { > status.setStatus("Compacting store " + store); > - didPerformCompaction = true; > store.compact(compaction); > + didPerformCompaction = true; > } catch (InterruptedIOException iioe) { > String msg = "compaction interrupted"; > LOG.info(msg, iioe); > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)