You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2014/11/12 18:52:14 UTC
[3/3] hbase git commit: HBASE-12454 Setting didPerformCompaction
early in HRegion#compact
HBASE-12454 Setting didPerformCompaction early in HRegion#compact
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b0a434a5
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b0a434a5
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b0a434a5
Branch: refs/heads/master
Commit: b0a434a5ce4aac1bc6e50ebf7c58f0e65052caae
Parents: fb6c5c7
Author: Andrew Purtell <ap...@apache.org>
Authored: Wed Nov 12 09:29:46 2014 -0800
Committer: Andrew Purtell <ap...@apache.org>
Committed: Wed Nov 12 09:47:46 2014 -0800
----------------------------------------------------------------------
.../main/java/org/apache/hadoop/hbase/regionserver/HRegion.java | 2 +-
.../main/java/org/apache/hadoop/hbase/regionserver/HStore.java | 4 +++-
.../org/apache/hadoop/hbase/regionserver/TestCompaction.java | 3 +++
3 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/b0a434a5/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
----------------------------------------------------------------------
diff --git 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
index fbf151a..0e093ea 100644
--- 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);
http://git-wip-us.apache.org/repos/asf/hbase/blob/b0a434a5/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index 8b41401..16c797c 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -1544,7 +1544,9 @@ public class HStore implements Store {
@Override
public void cancelRequestedCompaction(CompactionContext compaction) {
- finishCompactionRequest(compaction.getRequest());
+ if (compaction != null) {
+ finishCompactionRequest(compaction.getRequest());
+ }
}
private void finishCompactionRequest(CompactionRequest cr) {
http://git-wip-us.apache.org/repos/asf/hbase/blob/b0a434a5/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java
index 4900ef4..0a1d8b8 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java
@@ -161,6 +161,9 @@ public class TestCompaction {
}).when(spyR).doRegionCompactionPrep();
// force a minor compaction, but not before requesting a stop
+
+ // Accounting: Normally compaction requests go through HStore#requestCompaction
+ r.reportCompactionRequestStart(false);
spyR.compactStores();
// ensure that the compaction stopped, all old files are intact,