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 2009/07/02 01:57:40 UTC
svn commit: r790424 - in /hadoop/hbase/trunk: ./
src/java/org/apache/hadoop/hbase/io/hfile/
src/java/org/apache/hadoop/hbase/regionserver/
Author: stack
Date: Wed Jul 1 23:57:40 2009
New Revision: 790424
URL: http://svn.apache.org/viewvc?rev=790424&view=rev
Log:
HBASE-1602 HRegionServer won't go down since we added in new LruBlockCache
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/SimpleBlockCache.java
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=790424&r1=790423&r2=790424&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Wed Jul 1 23:57:40 2009
@@ -239,6 +239,7 @@
interface
HBASE-1594 Fix scan addcolumns after hbase-1385 commit (broken hudson build)
HBASE-1595 hadoop-default.xml and zoo.cfg in hbase jar
+ HBASE-1602 HRegionServer won't go down since we added in new LruBlockCache
IMPROVEMENTS
HBASE-1089 Add count of regions on filesystem to master UI; add percentage
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java?rev=790424&r1=790423&r2=790424&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java Wed Jul 1 23:57:40 2009
@@ -46,5 +46,10 @@
* @param blockName Block number to fetch.
* @return Block or null if block is not in the cache.
*/
- public ByteBuffer getBlock(String blockName);
+ public ByteBuffer getBlock(String blockName);
+
+ /**
+ * Shutdown the cache.
+ */
+ public void shutdown();
}
\ No newline at end of file
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java?rev=790424&r1=790423&r2=790424&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java Wed Jul 1 23:57:40 2009
@@ -22,12 +22,12 @@
import java.lang.ref.WeakReference;
import java.nio.ByteBuffer;
import java.util.PriorityQueue;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.locks.ReentrantLock;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -108,7 +108,7 @@
private final EvictionThread evictionThread;
/** Statistics thread schedule pool (for heavy debugging, could remove) */
- private final ScheduledExecutorService scheduleThreadPool =
+ private final ScheduledExecutorService scheduleThreadPool =
Executors.newScheduledThreadPool(1);
/** Current size of cache */
@@ -320,7 +320,7 @@
long bytesToFree = size.get() - minSize();
- LOG.info("Block cache LRU eviction started. Attempting to free " +
+ LOG.debug("Block cache LRU eviction started. Attempting to free " +
bytesToFree + " bytes");
if(bytesToFree <= 0) return;
@@ -372,7 +372,7 @@
remainingBuckets--;
}
- LOG.info("Block cache LRU eviction completed. " +
+ LOG.debug("Block cache LRU eviction completed. " +
"Freed " + bytesFreed + " bytes");
} finally {
@@ -659,5 +659,8 @@
private long memorySize() {
return (long)Math.floor(this.maxSize * this.memoryFactor * this.minFactor);
}
-
+
+ public void shutdown() {
+ this.scheduleThreadPool.shutdown();
+ }
}
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/SimpleBlockCache.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/SimpleBlockCache.java?rev=790424&r1=790423&r2=790424&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/SimpleBlockCache.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/hfile/SimpleBlockCache.java Wed Jul 1 23:57:40 2009
@@ -63,4 +63,8 @@
boolean inMemory) {
cache.put(blockName, new Ref(blockName, buf, q));
}
+
+ public void shutdown() {
+ // noop
+ }
}
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=790424&r1=790423&r2=790424&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 Wed Jul 1 23:57:40 2009
@@ -602,6 +602,9 @@
e.printStackTrace();
}
}
+ // Send cache a shutdown.
+ LruBlockCache c = (LruBlockCache)StoreFile.getBlockCache(this.conf);
+ if (c != null) c.shutdown();
// Send interrupts to wake up threads if sleeping so they notice shutdown.
// TODO: Should we check they are alive? If OOME could have exited already