Hi, guys from group helped me a lot. I did solve pretty the same problem (CRUD web-app)
1. Use single instance of HConnection per application. 2. Instantiate it once. 3. create HTable instance for each CRUD operation and safely close it (try-catch-finally). Use the same HConnection to create any HTable for CRUD operation. 4. DO NOT close HConnection after CRUD operation I have logic controllers which get HConnection injection in HttpServlet.init method. So I have 5 HConnection instances per application created during servlet initialization 2015-02-03 18:12 GMT+03:00 Ted Yu <yuzhih...@gmail.com>: > Please see '61.1. Cluster Connections' under > http://hbase.apache.org/book.html#architecture.client > > Cheers > > On Tue, Feb 3, 2015 at 6:47 AM, sleimanjneidi <jneidi.slei...@gmail.com> > wrote: > > > Hi all, > > I am using hbase-0.98.1-cdh5.1.4 client and I am a bit confused by the > > documentation of HConnection. The document says the following: > > > > HConnection instances can be shared. Sharing is usually what you want > > because rather than each HConnection instance having to do its own > > discovery of regions out on the cluster, instead, all clients get to > share > > the one cache of locations. HConnectionManager does the sharing for you > if > > you go by it getting connections. Sharing makes cleanup of HConnections > > awkward. . > > > > So now I have a simple question: Can I share the same HConnection > instance > > in my entire application? > > And write some magic code to know when to close or never close at all? > > Or I have to create an instance and close it every time I do a CRUD > > operation ? > > > > Many thanks > > > > > > >