Use HTablePool instead. For more infor, http://hbase.apache.org/book/client.html.
On Thu, Aug 1, 2013 at 3:32 PM, yonghu <[email protected]> wrote: > If I want to use multi-thread with thread safe, which class should I use? > > > On Thu, Aug 1, 2013 at 3:08 PM, Ted Yu <[email protected]> wrote: > >> HTable is not thread safe. >> >> On Aug 1, 2013, at 5:58 AM, Pavel Hančar <[email protected]> wrote: >> >> > Hello, >> > I have a class extending BaseRegionObserver and I use the postPut >> method to >> > run a slow procedure. I'd like to run more these procedures in more >> > threads. Is it possible to run more HTable.put(put) methods >> concurrently? I >> > tried, but I have this error for each thread: >> > >> > Exception in thread "Thread-3" java.lang.IndexOutOfBoundsException: >> Index: >> > 1, Size: 1 >> > at java.util.ArrayList.rangeCheck(ArrayList.java:604) >> > at java.util.ArrayList.remove(ArrayList.java:445) >> > at >> > org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:966) >> > at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:811) >> > at org.apache.hadoop.hbase.client.HTable.put(HTable.java:786) >> > at img.PutFilesThread.run(PutFilesThread.java:74) >> > at java.lang.Thread.run(Thread.java:724) >> > >> > Anybody has an idea? >> > Thanks, >> > Pavel Hančar >> > >
