Yeah you & J-D both hit it.. I knew it's bad..I was trying anything & everything to solve the incredibly long latency with hbase puts on 0.90.2.. I get ok/better response with batch put..& this was quick & dirty way to accumulate puts by sharing same HTable instance Thanks for letting me know..this exception is due to sharing of HTable..
I've to go back to to 0.20.6 since our system is down too long..(starting with empty table) On 0.90.2, do you all think using HTablePool would help with performance problem? thx -----Original Message----- From: Ted Yu <[email protected]> To: [email protected] Sent: Wed, Apr 20, 2011 12:27 pm Subject: Re: java.lang.IndexOutOfBoundsException I think HConnectionManager can catch IndexOutOfBoundsException and translate into a more user-friendly message, informing user about thread-safety. On Wed, Apr 20, 2011 at 9:11 AM, Ted Yu <[email protected]> wrote: > I have seen this before. > HTable isn't thread-safe. > > Please describe your usage. > > Thanks > > > On Wed, Apr 20, 2011 at 6:03 AM, Venkatesh <[email protected]> wrote: > >> >> Using hbase-0.90.2..(sigh..) Any tip? thanks >> >> >> java.lang.IndexOutOfBoundsException: Index: 4, Size: 3 >> at java.util.ArrayList.RangeCheck(ArrayList.java:547) >> at java.util.ArrayList.remove(ArrayList.java:387) >> at >> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchOfPuts(HConnectionManager.java:1257) >> at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:822) >> at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:678) >> at org.apache.hadoop.hbase.client.HTable.put(HTable.java:663) >> >> >> >> >
