You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2013/08/08 19:26:21 UTC

svn commit: r1511890 - in /hbase/branches/0.95: hbase-client/src/main/java/org/apache/hadoop/hbase/client/ hbase-server/src/test/java/org/apache/hadoop/hbase/client/

Author: larsh
Date: Thu Aug  8 17:26:21 2013
New Revision: 1511890

URL: http://svn.apache.org/r1511890
Log:
HBASE-8408; addendum for new HConnection API

Modified:
    hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnection.java
    hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
    hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionWrapper.java
    hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java

Modified: hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnection.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnection.java?rev=1511890&r1=1511889&r2=1511890&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnection.java (original)
+++ hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnection.java Thu Aug  8 17:26:21 2013
@@ -106,6 +106,19 @@ public interface HConnection extends Abo
    * Note that the HConnection needs to be unmanaged
    * (created with {@link HConnectionManager#createConnection(Configuration)}).
    * @param tableName
+   * @return an HTable to use for interactions with this table
+   */
+  public HTableInterface getTable(TableName tableName) throws IOException;
+
+  /**
+   * Retrieve an HTableInterface implementation for access to a table.
+   * The returned HTableInterface is not thread safe, a new instance should
+   * be created for each using thread.
+   * This is a lightweight operation, pooling or caching of the returned HTableInterface
+   * is neither required nor desired.
+   * Note that the HConnection needs to be unmanaged
+   * (created with {@link HConnectionManager#createConnection(Configuration)}).
+   * @param tableName
    * @param pool The thread pool to use for batch operations, null to use a default pool.
    * @return an HTable to use for interactions with this table
    */
@@ -125,6 +138,20 @@ public interface HConnection extends Abo
    */
   public HTableInterface getTable(byte[] tableName, ExecutorService pool)  throws IOException;
 
+  /**
+   * Retrieve an HTableInterface implementation for access to a table.
+   * The returned HTableInterface is not thread safe, a new instance should
+   * be created for each using thread.
+   * This is a lightweight operation, pooling or caching of the returned HTableInterface
+   * is neither required nor desired.
+   * Note that the HConnection needs to be unmanaged
+   * (created with {@link HConnectionManager#createConnection(Configuration)}).
+   * @param tableName
+   * @param pool The thread pool to use for batch operations, null to use a default pool.
+   * @return an HTable to use for interactions with this table
+   */
+  public HTableInterface getTable(TableName tableName, ExecutorService pool)  throws IOException;
+
   /** @return - true if the master server is running */
   boolean isMasterRunning()
   throws MasterNotRunningException, ZooKeeperConnectionException;

Modified: hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java?rev=1511890&r1=1511889&r2=1511890&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (original)
+++ hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java Thu Aug  8 17:26:21 2013
@@ -653,21 +653,31 @@ public class HConnectionManager {
  
     @Override
     public HTableInterface getTable(String tableName) throws IOException {
-      return getTable(Bytes.toBytes(tableName));
+      return getTable(TableName.valueOf(tableName));
     }
 
     @Override
     public HTableInterface getTable(byte[] tableName) throws IOException {
+      return getTable(TableName.valueOf(tableName));
+    }
+
+    @Override
+    public HTableInterface getTable(TableName tableName) throws IOException {
       return getTable(tableName, getBatchPool());
     }
 
     @Override
     public HTableInterface getTable(String tableName, ExecutorService pool) throws IOException {
-      return getTable(Bytes.toBytes(tableName), pool);
+      return getTable(TableName.valueOf(tableName), pool);
     }
 
     @Override
     public HTableInterface getTable(byte[] tableName, ExecutorService pool) throws IOException {
+      return getTable(TableName.valueOf(tableName), pool);
+    }
+
+    @Override
+    public HTableInterface getTable(TableName tableName, ExecutorService pool) throws IOException {
       if (managed) {
         throw new IOException("The connection has to be unmanaged.");
       }

Modified: hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionWrapper.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionWrapper.java?rev=1511890&r1=1511889&r2=1511890&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionWrapper.java (original)
+++ hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionWrapper.java Thu Aug  8 17:26:21 2013
@@ -73,6 +73,11 @@ public class HConnectionWrapper implemen
   }
 
   @Override
+  public HTableInterface getTable(TableName tableName) throws IOException {
+    return hconnection.getTable(tableName);
+  }
+
+  @Override
   public HTableInterface getTable(String tableName, ExecutorService pool)  throws IOException {
     return hconnection.getTable(tableName, pool);
   }
@@ -83,6 +88,11 @@ public class HConnectionWrapper implemen
   }
 
   @Override
+  public HTableInterface getTable(TableName tableName, ExecutorService pool)  throws IOException {
+    return hconnection.getTable(tableName, pool);
+  }
+
+  @Override
   public void abort(String why, Throwable e) {
     hconnection.abort(why, e);
   }

Modified: hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java?rev=1511890&r1=1511889&r2=1511890&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java (original)
+++ hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java Thu Aug  8 17:26:21 2013
@@ -148,6 +148,11 @@ public class TestHCM {
     assertTrue(otherPool == t.getPool());
     t.close();
 
+    t = (HTable)con2.getTable(TableName.valueOf(tableName));
+    // try other API too
+    assertTrue(otherPool == t.getPool());
+    t.close();
+
     t = (HTable)con1.getTable(tableName);
     ExecutorService pool = ((HConnectionImplementation)con1).getCurrentBatchPool();
     // make sure an internal pool was created