Hi Serega, I am very interesting in the reason why per application need to create 5 instead of only one HConnection instances during servlet initialization?
At 2015-02-04 01:01:38, "Serega Sheypak" <[email protected]> wrote: >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 <[email protected]>: > >> 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 <[email protected]> >> 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 >> > >> > >> > >>
