Thanks Doug! this is very informative. Now creating an instance of an HTable
is quite expensive on a per thread basis. Reading through the docs I found
this
http://hbase.apache.org/apidocs/index.html?org/apache/hadoop/hbase/client/HTablePool.html

Are there any best practices using HTablePool? HTablePool
sounds analogous to DB connection pools to me but I am not sure how
HTablePool.get() would work under multithreaded environment.

thanks


On Wed, Jul 20, 2011 at 6:28 PM, Doug Meil <[email protected]>wrote:

>
> Hi there-
>
> I think there are two subjects here:
>
>
> 1)  the fact that HTable isn't thread-safe
>
> 2)  how counters work
>
> Even if you are incrementing counters, you shouldn't be sharing HTable
> instances across threads.
>
> Counters get updated atomically on the RS, not on the client.
>
> Counter behavior isn't in the Hbase book and it needs to be.  I'll add it
> to the list.
>
>
> On 7/20/11 7:44 PM, "large data" <[email protected]> wrote:
>
> >I have an HTable instance instantiated as part of a singleton service.
> >This
> >singleton service is called from different threads from different parts of
> >the app. Reading through the HTable docs suggests not to use single HTable
> >instance for updates, if it's true how can incrementColumnValue provide
> >thread safety?
> >
> >thanks
>
>

Reply via email to