Andrew Purtell created HBASE-12454:
--------------------------------------
Summary: 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
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)