Like the doc says: http://hbase.apache.org/book.html#client.connections
"For applications which require high-end multithreaded access (e.g., web-servers or application servers that may serve many application threads in a single JVM), see HTablePool." J-D On Tue, Sep 27, 2011 at 8:52 AM, Joel Halbert <[email protected]> wrote: > But in a highly multi-threaded context? > > I guess my question is: is it thread-safe? > > On Tue, 2011-09-27 at 09:18 -0500, Michael Segel wrote: >> Outside of a M/R context, sure, why not? >> >> >> > Subject: Correct use of HTablePool >> > From: [email protected] >> > To: [email protected] >> > Date: Tue, 27 Sep 2011 10:19:04 +0100 >> > >> > When using an HTablePool and calling get() or scan() can I return the >> > Table to the pool as soon as I have the Result of Scanner object? >> > >> > i.e. is this valid? >> > >> > HTablePool pool = myPool; >> > Get get = myGet; >> > HTable table = pool.getTable(myTableName);; >> > Result result = null; >> > try { >> > result = table.get(get); >> > } finally { >> > pool.putTable(table); >> > } >> > >> > // use Result now table has been returned to pool. >> > r.getValue(Bytes.toBytes("COL"), Bytes.toBytes("ID")) >> > >> > >> > and likewise with a Scanner >> > >> > Rgs >> > Joel >> > > >
