HConnection connection = HConnectionManager.createConnection(config); will give you the shared HConnection.
Do not close the connection object until all your threads are done using it. In your use case you should not close it when you close the table since other threads may be using it or may need to use it in the future Regards, Dhaval ________________________________ From: Serega Sheypak <[email protected]> To: [email protected] Sent: Monday, 4 August 2014 1:44 PM Subject: Connection pool Concurrency in HBase 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?
