You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2008/10/28 00:22:29 UTC
svn commit: r708376 - in
/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase:
HColumnDescriptor.java regionserver/HRegionServer.java
Author: stack
Date: Mon Oct 27 16:22:29 2008
New Revision: 708376
URL: http://svn.apache.org/viewvc?rev=708376&view=rev
Log:
HBASE-967 [Optimization] Cache cell maximum length (HCD.getMaxValueLength); its used checking batch size
Modified:
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HColumnDescriptor.java
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HColumnDescriptor.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HColumnDescriptor.java?rev=708376&r1=708375&r2=708376&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HColumnDescriptor.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HColumnDescriptor.java Mon Oct 27 16:22:29 2008
@@ -86,6 +86,14 @@
* Default maximum cell length.
*/
public static final int DEFAULT_LENGTH = Integer.MAX_VALUE;
+ public static final Integer DEFAULT_LENGTH_INTEGER =
+ Integer.valueOf(DEFAULT_LENGTH);
+
+ /*
+ * Cache here the HCD value.
+ * Question: its OK to cache since when we're reenable, we create a new HCD?
+ */
+ private volatile Integer maxValueLength = null;
/**
* Default setting for whether to serve from memory or not.
@@ -322,7 +330,7 @@
public int getMaxVersions() {
String value = getValue(HConstants.VERSIONS);
if (value != null)
- return Integer.valueOf(value);
+ return Integer.valueOf(value).intValue();
return DEFAULT_VERSIONS;
}
@@ -359,7 +367,7 @@
public boolean isInMemory() {
String value = getValue(HConstants.IN_MEMORY);
if (value != null)
- return Boolean.valueOf(value);
+ return Boolean.valueOf(value).booleanValue();
return DEFAULT_IN_MEMORY;
}
@@ -374,11 +382,13 @@
/**
* @return Maximum value length.
*/
- public int getMaxValueLength() {
- String value = getValue(LENGTH);
- if (value != null)
- return Integer.valueOf(value);
- return DEFAULT_LENGTH;
+ public synchronized int getMaxValueLength() {
+ if (this.maxValueLength == null) {
+ String value = getValue(LENGTH);
+ this.maxValueLength = (value != null)?
+ Integer.decode(value): DEFAULT_LENGTH_INTEGER;
+ }
+ return this.maxValueLength.intValue();
}
/**
@@ -386,6 +396,7 @@
*/
public void setMaxValueLength(int maxLength) {
setValue(LENGTH, Integer.toString(maxLength));
+ this.maxValueLength = null;
}
/**
@@ -426,7 +437,7 @@
public boolean isBloomfilter() {
String value = getValue(BLOOMFILTER);
if (value != null)
- return Boolean.valueOf(value);
+ return Boolean.valueOf(value).booleanValue();
return DEFAULT_BLOOMFILTER;
}
@@ -444,7 +455,7 @@
public int getMapFileIndexInterval() {
String value = getValue(MAPFILE_INDEX_INTERVAL);
if (value != null)
- return Integer.valueOf(value);
+ return Integer.valueOf(value).intValue();
return DEFAULT_MAPFILE_INDEX_INTERVAL;
}
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=708376&r1=708375&r2=708376&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Mon Oct 27 16:22:29 2008
@@ -1208,7 +1208,6 @@
HTableDescriptor desc = region.getTableDesc();
for (Iterator<BatchOperation> iter =
batchUpdate.iterator(); iter.hasNext();) {
-
BatchOperation operation = iter.next();
if (operation.getValue() != null) {
HColumnDescriptor fam =