hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lars hofhansl <lhofha...@yahoo.com>
Subject Re: Insert blocked
Date Wed, 25 Jul 2012 00:43:06 GMT
You share it for as many operation it makes sense to keep the HTable.
In an AppServer it would be for the duration of an incoming request for example (i.e. each
thread creates and destroys its own HTables as needed).


The HTable is just then just used as a functional construct to execute RPCs and holds references
to a preexisting Connection and Threadpool... Very fast to create and collect.

-- Lars



----- Original Message -----
From: Mohit Anchlia <mohitanchlia@gmail.com>
To: user@hbase.apache.org
Cc: 
Sent: Tuesday, July 24, 2012 1:04 PM
Subject: Re: Insert blocked

On Tue, Jul 24, 2012 at 12:55 PM, Elliott Clark <eclark@stumbleupon.com>wrote:

> Thanks I hadn't seen that before
>

Do you mean in your code you close HTableInterface after each put/get/scan
operations?


>
> On Mon, Jul 23, 2012 at 10:29 PM, lars hofhansl <lhofhansl@yahoo.com>
> wrote:
>
> > Or you can pre-create your HConnection and Threadpool and use the HTable
> > constructor that takes these as arguments.
> > That is faster and less "byzantine" compared to the HTablePool "monster".
> >
> > Also see here (if you don't mind the plug):
> > http://hadoop-hbase.blogspot.com/2011/12/long-running-hbase-clients.html
> >
> >
> > -- Lars
> >
> >
> >
> > ----- Original Message -----
> > From: Elliott Clark <eclark@stumbleupon.com>
> > To: user@hbase.apache.org
> > Cc:
> > Sent: Monday, July 23, 2012 3:54 PM
> > Subject: Re: Insert blocked
> >
> > HTable is not thread safe[1]. It's better to use HTablePool if you want
> to
> > share things across multiple threads.[2]
> >
> > 1
> >
> http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/HTable.html
> > 2
> >
> >
> http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/HTablePool.html
> >
> > On Mon, Jul 23, 2012 at 3:48 PM, Mohit Anchlia <mohitanchlia@gmail.com
> > >wrote:
> >
> > > I am writing a stress tool to test my specific use case. In my current
> > > implementation HTable is a global static variable that I initialize
> just
> > > once and use it accross multiple threads. Is this ok?
> > >
> > > My row key consists of (timestamp - (timestamp % 1000)) and cols are
> > > counters. What I am seeing is that when I run my test after first row
> is
> > > created the application just hangs. I just wanted to check if there are
> > > obvious things that I should watch out for.
> > >
> > > I am currently testing few threads in eclipse, but I'll still try and
> > > generate stackTrace
> > >
> >
> >
>


Mime
View raw message