You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ga...@apache.org on 2011/04/10 09:57:16 UTC

svn commit: r1090747 - in /hbase/branches/0.90: CHANGES.txt src/main/java/org/apache/hadoop/hbase/client/HTablePool.java

Author: garyh
Date: Sun Apr 10 07:57:16 2011
New Revision: 1090747

URL: http://svn.apache.org/viewvc?rev=1090747&view=rev
Log:
HBASE-3750  HTable.putTable() should release resources for discarded tables

Modified:
    hbase/branches/0.90/CHANGES.txt
    hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HTablePool.java

Modified: hbase/branches/0.90/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1090747&r1=1090746&r2=1090747&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Sun Apr 10 07:57:16 2011
@@ -12,6 +12,8 @@ Release 0.90.3 - Unreleased
    HBASE-3740  hbck doesn't reset the number of errors when retrying
    HBASE-3744  createTable blocks until all regions are out of transition
                (Ted Yu via Stack)
+   HBASE-3750  HTablePool.putTable() should call releaseHTableInterface()
+               for discarded tables (Ted Yu via garyh)
 
   IMPROVEMENT
    HBASE-3717  deprecate HTable isTableEnabled() methods in favor of HBaseAdmin

Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HTablePool.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HTablePool.java?rev=1090747&r1=1090746&r2=1090747&view=diff
==============================================================================
--- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HTablePool.java (original)
+++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HTablePool.java Sun Apr 10 07:57:16 2011
@@ -120,7 +120,11 @@ public class HTablePool {
   public void putTable(HTableInterface table) {
     LinkedList<HTableInterface> queue = tables.get(Bytes.toString(table.getTableName()));
     synchronized(queue) {
-      if(queue.size() >= maxSize) return;
+      if(queue.size() >= maxSize) {
+        // release table instance since we're not reusing it
+        this.tableFactory.releaseHTableInterface(table);
+        return;
+      }
       queue.add(table);
     }
   }