You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by se...@apache.org on 2013/03/04 20:01:44 UTC
svn commit: r1452444 - in
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver:
./ compactions/
Author: sershe
Date: Mon Mar 4 19:01:43 2013
New Revision: 1452444
URL: http://svn.apache.org/r1452444
Log:
HBASE-7964 requestCompaction priority argument is not used (except for user compaction check)
Modified:
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreEngine.java
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.java
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileManager.java
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.java
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.java
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactionPolicy.java
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreEngine.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreEngine.java?rev=1452444&r1=1452443&r2=1452444&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreEngine.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreEngine.java Mon Mar 4 19:01:43 2013
@@ -46,7 +46,7 @@ public class DefaultStoreEngine extends
@Override
protected void createComponents() {
- storeFileManager = new DefaultStoreFileManager(this.comparator);
+ storeFileManager = new DefaultStoreFileManager(this.comparator, this.conf);
// TODO: compactor and policy may be separately pluggable, but must derive from default ones.
compactor = new DefaultCompactor(this.conf, this.store);
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.java?rev=1452444&r1=1452443&r2=1452444&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.java Mon Mar 4 19:01:43 2013
@@ -28,6 +28,7 @@ import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.KeyValue.KVComparator;
@@ -43,6 +44,7 @@ class DefaultStoreFileManager implements
static final Log LOG = LogFactory.getLog(DefaultStoreFileManager.class);
private final KVComparator kvComparator;
+ private final Configuration conf;
/**
* List of store files inside this store. This is an immutable list that
@@ -50,8 +52,9 @@ class DefaultStoreFileManager implements
*/
private volatile ImmutableList<StoreFile> storefiles = null;
- public DefaultStoreFileManager(KVComparator kvComparator) {
+ public DefaultStoreFileManager(KVComparator kvComparator, Configuration conf) {
this.kvComparator = kvComparator;
+ this.conf = conf;
}
@Override
@@ -124,9 +127,17 @@ class DefaultStoreFileManager implements
return getStorefiles();
}
+ @Override
+ public int getStoreCompactionPriority() {
+ int blockingFileCount = conf.getInt(
+ "hbase.hstore.blockingStoreFiles", HStore.DEFAULT_BLOCKING_STOREFILE_COUNT);
+ return blockingFileCount - storefiles.size();
+ }
+
private void sortAndSetStoreFiles(List<StoreFile> storeFiles) {
Collections.sort(storeFiles, StoreFile.Comparators.SEQ_ID);
storefiles = ImmutableList.copyOf(storeFiles);
}
+
}
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java?rev=1452444&r1=1452443&r2=1452444&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java Mon Mar 4 19:01:43 2013
@@ -1324,7 +1324,9 @@ public class HStore implements Store {
this.forceMajor = this.forceMajor && !isMajor;
// Set common request properties.
- compaction.getRequest().setPriority(getCompactPriority(priority));
+ // Set priority, either override value supplied by caller or from store.
+ compaction.getRequest().setPriority(
+ (priority != Store.NO_PRIORITY) ? priority : getCompactPriority());
compaction.getRequest().setIsMajor(isMajor);
compaction.getRequest().setDescription(
region.getRegionNameAsString(), getColumnFamilyName());
@@ -1755,18 +1757,9 @@ public class HStore implements Store {
return this.memstore.heapSize();
}
- public int getCompactPriority() {
- return getCompactPriority(Store.NO_PRIORITY);
- }
-
@Override
- public int getCompactPriority(int priority) {
- // If this is a user-requested compaction, leave this at the user priority
- if (priority != Store.PRIORITY_USER) {
- priority = this.compactionPolicy.getSystemCompactionPriority(
- this.storeFileManager.getStorefiles());
- }
- return priority;
+ public int getCompactPriority() {
+ return this.storeFileManager.getStoreCompactionPriority();
}
@Override
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java?rev=1452444&r1=1452443&r2=1452444&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java Mon Mar 4 19:01:43 2013
@@ -182,13 +182,6 @@ public interface Store extends HeapSize,
public int getCompactPriority();
- /**
- * @param priority priority to check against. When priority is {@link Store#PRIORITY_USER},
- * {@link Store#PRIORITY_USER} is returned.
- * @return The priority that this store has in the compaction queue.
- */
- public int getCompactPriority(int priority);
-
public StoreFlusher getStoreFlusher(long cacheFlushId);
// Split oriented methods
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileManager.java?rev=1452444&r1=1452443&r2=1452444&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileManager.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileManager.java Mon Mar 4 19:01:43 2013
@@ -119,4 +119,9 @@ public interface StoreFileManager {
* @throws IOException
*/
public abstract byte[] getSplitPoint() throws IOException;
+
+ /**
+ * @return The store compaction priority.
+ */
+ public abstract int getStoreCompactionPriority();
}
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.java?rev=1452444&r1=1452443&r2=1452444&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.java Mon Mar 4 19:01:43 2013
@@ -62,7 +62,6 @@ public class CompactionConfiguration {
boolean shouldDeleteExpired;
long majorCompactionPeriod;
float majorCompactionJitter;
- int blockingStoreFileCount;
CompactionConfiguration(Configuration conf, StoreConfigInformation storeConfigInfo) {
this.conf = conf;
@@ -82,8 +81,6 @@ public class CompactionConfiguration {
shouldDeleteExpired = conf.getBoolean("hbase.store.delete.expired.storefile", true);
majorCompactionPeriod = conf.getLong(HConstants.MAJOR_COMPACTION_PERIOD, 1000*60*60*24);
majorCompactionJitter = conf.getFloat("hbase.hregion.majorcompaction.jitter", 0.20F);
- blockingStoreFileCount =
- conf.getInt("hbase.hstore.blockingStoreFiles", HStore.DEFAULT_BLOCKING_STOREFILE_COUNT);
LOG.info("Compaction configuration " + this.toString());
}
@@ -106,13 +103,6 @@ public class CompactionConfiguration {
}
/**
- * @return store file count that will cause the memstore of this store to be blocked.
- */
- int getBlockingStorefileCount() {
- return this.blockingStoreFileCount;
- }
-
- /**
* @return lower bound below which compaction is selected without ratio test
*/
long getMinCompactSize() {
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.java?rev=1452444&r1=1452443&r2=1452444&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.java Mon Mar 4 19:01:43 2013
@@ -43,16 +43,6 @@ public abstract class CompactionPolicy {
}
/**
- * @param storeFiles Store files in the store.
- * @return The system compaction priority of the store, based on storeFiles.
- * The priority range is as such - the smaller values are higher priority;
- * 1 is user priority; only very important, blocking compactions should use
- * values lower than that. With default settings, depending on the number of
- * store files, the non-blocking priority will be in 2-6 range.
- */
- public abstract int getSystemCompactionPriority(final Collection<StoreFile> storeFiles);
-
- /**
* @param filesToCompact Files to compact. Can be null.
* @return True if we should run a major compaction.
*/
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactionPolicy.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactionPolicy.java?rev=1452444&r1=1452443&r2=1452444&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactionPolicy.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactionPolicy.java Mon Mar 4 19:01:43 2013
@@ -57,7 +57,6 @@ public class DefaultCompactionPolicy ext
super(conf, storeConfigInfo);
}
-
private ArrayList<StoreFile> getCurrentEligibleFiles(
ArrayList<StoreFile> candidateFiles, final List<StoreFile> filesCompacting) {
// candidates = all storefiles not already in compaction queue
@@ -77,11 +76,6 @@ public class DefaultCompactionPolicy ext
return getCurrentEligibleFiles(new ArrayList<StoreFile>(candidates), filesCompacting);
}
- @Override
- public int getSystemCompactionPriority(final Collection<StoreFile> storeFiles) {
- return this.comConf.getBlockingStorefileCount() - storeFiles.size();
- }
-
/**
* @param candidateFiles candidate files, ordered from oldest to newest
* @return subset copy of candidate list that meets compaction criteria