Repository: hbase Updated Branches: refs/heads/0.94 aafed16af -> 6e6dc4bd8
HBASE-12657 The Region is not being split and far exceeds the desired maximum size. (Vladimir Rodionov) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6e6dc4bd Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6e6dc4bd Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6e6dc4bd Branch: refs/heads/0.94 Commit: 6e6dc4bd81695b7aa5ce283019d059c0570cb32e Parents: aafed16 Author: Lars Hofhansl <[email protected]> Authored: Thu Dec 11 13:23:20 2014 -0800 Committer: Lars Hofhansl <[email protected]> Committed: Thu Dec 11 13:23:20 2014 -0800 ---------------------------------------------------------------------- src/main/java/org/apache/hadoop/hbase/regionserver/Store.java | 6 ++++-- .../apache/hadoop/hbase/regionserver/TestCompactSelection.java | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/6e6dc4bd/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java b/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java index 915777f..46b4e52 100644 --- a/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java +++ b/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java @@ -1598,8 +1598,10 @@ public class Store extends SchemaConfigured implements HeapSize { } } else if (compactSelection.getFilesToCompact().size() > this.maxFilesToCompact) { // all files included in this compaction, up to max - int pastMax = compactSelection.getFilesToCompact().size() - this.maxFilesToCompact; - compactSelection.getFilesToCompact().subList(0, pastMax).clear(); + int excess = compactSelection.getFilesToCompact().size() - this.maxFilesToCompact; + LOG.debug("Too many admissible files. Excluding " + excess + + " files from compaction candidates"); + candidates.subList(this.maxFilesToCompact, candidates.size()).clear(); } } return compactSelection; http://git-wip-us.apache.org/repos/asf/hbase/blob/6e6dc4bd/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java b/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java index f996dda..b37053a 100644 --- a/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java +++ b/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java @@ -265,7 +265,7 @@ public class TestCompactSelection extends TestCase { assertEquals(maxFiles, store.compactSelection(sfCreate(true, 7,6,5,4,3,2,1)).getFilesToCompact().size()); // reference compaction - compactEquals(sfCreate(true, 7, 6, 5, 4, 3, 2, 1), 5, 4, 3, 2, 1); + compactEquals(sfCreate(true, 7, 6, 5, 4, 3, 2, 1), 7, 6, 5, 4, 3); // empty case compactEquals(new ArrayList<StoreFile>() /* empty */);
