Hi Serega, We have been using this constructor in HBase0.94: https://hbase.apache.org/0.94/apidocs/org/apache/hadoop/hbase/client/HTable.html#HTable%28byte[],%20org.apache.hadoop.hbase.client.HConnection,%20java.util.concurrent.ExecutorService%29
This constructor is pretty light weight. But, you will need to manage ExecutorService and HConnection by yourself. We create these in our context at startup and keep on reusing. We use this in our web services and we call the HTable constructor for every request separately so you will not run into threading issue. NOTE: I havent tested this constructor for doing Writes through webservices. We have using this for reads. HTH, Anil Gupta On Mon, Aug 4, 2014 at 10:44 AM, Serega Sheypak <serega.shey...@gmail.com> wrote: > Hi, I'm trying to understand how does connection pooling works in HBase. > I've seen that > > https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/HConnectionManager.html > is recommended to use. > > I have a servlet, it's instance shaed among many threads. > What is a good way to use connection pooling in this case? > > Is this > > HConnection connection = HConnectionManager.createConnection(config); > HTableInterface table = connection.getTable("table1"); > try { > // Use the table as needed, for a single operation and a single thread > } finally { > table.close(); > connection.close(); > } > > > 1. enough to reuse connection and they wouldn't be opened each time? > 2. why do I have to close ALL: table and connection? It's done by design? > -- Thanks & Regards, Anil Gupta