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

Reply via email to