HBASE-3723 Major compact should be done when there is only one storefile and some keyvalue is outdated

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1089727 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2011-04-07 04:06:21 +00:00
parent bea0012d5d
commit 4242c86a41
2 changed files with 7 additions and 0 deletions

View File

@ -67,6 +67,8 @@ Release 0.91.0 - Unreleased
be using TreeSet for HRegion (Ted Yu via J-D) be using TreeSet for HRegion (Ted Yu via J-D)
HBASE-3739 HMaster.getProtocolVersion() should distinguish HBASE-3739 HMaster.getProtocolVersion() should distinguish
HMasterInterface and HMasterRegionInterface versions HMasterInterface and HMasterRegionInterface versions
HBASE-3723 Major compact should be done when there is only one storefile
and some keyvalue is outdated (Zhou Shuaifeng via Stack)
IMPROVEMENTS IMPROVEMENTS
HBASE-3290 Max Compaction Size (Nicolas Spiegelberg via Stack) HBASE-3290 Max Compaction Size (Nicolas Spiegelberg via Stack)

View File

@ -787,6 +787,11 @@ public class Store implements HeapSize {
" because one (major) compacted file only and oldestTime " + " because one (major) compacted file only and oldestTime " +
oldest + "ms is < ttl=" + this.ttl); oldest + "ms is < ttl=" + this.ttl);
} }
} else if (this.ttl != HConstants.FOREVER && oldest > this.ttl) {
LOG.debug("Major compaction triggered on store " + this.storeNameStr +
", because keyvalues outdated; time since last major compaction " +
(now - lowTimestamp) + "ms");
result = true;
} }
} else { } else {
if (LOG.isDebugEnabled()) { if (LOG.isDebugEnabled()) {