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 2010/04/27 06:14:38 UTC
svn commit: r938317 - in /hadoop/hbase/trunk: CHANGES.txt
core/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
Author: stack
Date: Tue Apr 27 04:14:37 2010
New Revision: 938317
URL: http://svn.apache.org/viewvc?rev=938317&view=rev
Log:
HBASE-2393 ThriftServer instantiates a new HTable per request
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=938317&r1=938316&r2=938317&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Tue Apr 27 04:14:37 2010
@@ -535,6 +535,8 @@ Release 0.21.0 - Unreleased
(Benoit Sigoure via Stack)
HBASE-2488 Master should warn more loudly about unexpected events
(Todd Lipcon via Stack)
+ HBASE-2393 ThriftServer instantiates a new HTable per request
+ (Bogdan DRAGU via Stack)
NEW FEATURES
HBASE-1961 HBase EC2 scripts
Modified: hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java?rev=938317&r1=938316&r2=938317&view=diff
==============================================================================
--- hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java (original)
+++ hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java Tue Apr 27 04:14:37 2010
@@ -103,6 +103,14 @@ public class ThriftServer {
protected int nextScannerId = 0;
protected HashMap<Integer, ResultScanner> scannerMap = null;
+ private static ThreadLocal<Map<String, HTable>> threadLocalTables = new ThreadLocal<Map<String, HTable>>() {
+ @Override
+ protected Map<String, HTable> initialValue() {
+ return new TreeMap<String, HTable>();
+ }
+
+ };
+
/**
* Returns a list of all the column families for a given htable.
*
@@ -131,7 +139,12 @@ public class ThriftServer {
*/
protected HTable getTable(final byte[] tableName) throws IOError,
IOException {
- return new HTable(this.conf, tableName);
+ String table = new String(tableName);
+ Map<String, HTable> tables = threadLocalTables.get();
+ if (!tables.containsKey(table)) {
+ tables.put(table, new HTable(conf, tableName));
+ }
+ return tables.get(table);
}
/**