Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
HBase, mail # user - Insert blocked


+
Mohit Anchlia 2012-07-23, 22:48
+
Elliott Clark 2012-07-23, 22:54
+
Mohit Anchlia 2012-07-23, 23:15
+
Mohit Anchlia 2012-07-24, 00:41
Copy link to this message
-
Re: Insert blocked
Asaf Mesika 2012-07-24, 06:11
Is htable in autoFlush? What's your client buffer size?
What the thread stuck on? Take a thread dump

Sent from my iPad

On 24 ביול 2012, at 03:42, Mohit Anchlia <[EMAIL PROTECTED]> wrote:

> I am now using HTablePool but still the call hangs at "put". My code is
> something like this:
>
>
> hTablePool = *new* HTablePool(config,*MAX_POOL_SIZE*);
>
> result = *new* SessionTimelineDAO(hTablePool.getTable(t.name()),
> ColumnFamily.*S_T_MTX*);
>
> public SessionTimelineDAO(HTableInterface hTableInterface, ColumnFamily
> cf){
>  this.tableInt = hTableInterface;
>  this.cf = cf.name().getBytes();
>  log.info("Table " + hTableInterface + " " + cf);
> }
>
> @Override
> public void create(DataStoreModel dm) throws DataStoreException {
>  if(null == dm || null == dm.getKey()){
>   log.error("DataStoreModel is invalid");
>   return;
>  }
>
>  Put p = new Put(dm.getKey().array());
>
>  for(ByteBuffer bf : dm.getCols().keySet()){
>   p.add(cf, bf.array(), dm.getColumnValue(bf).array());
>  }
>
>  try {
>   log.info("In create ");
>   tableInt.put(p);
>  } catch (IOException e) {
>   log.error("Error writing " , e);
>   throw new DataStoreException(e);
>  } finally{
>   cleanUp();
>
>  }
> }
>
>
> private void cleanUp() {
>  if(null != tableInt){
>   try {
>    tableInt.close();
>   } catch (IOException e) {
>    log.error("Failed while closing table interface", e);
>   }
>  }
> }
> On Mon, Jul 23, 2012 at 4:15 PM, Mohit Anchlia <[EMAIL PROTECTED]>wrote:
>
>>
>>
>> On Mon, Jul 23, 2012 at 3:54 PM, Elliott Clark <[EMAIL PROTECTED]>wrote:
>>
>>> 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
>>>
>>> Thanks! I'll change my code to use HtablePool
>>
>>> On Mon, Jul 23, 2012 at 3:48 PM, Mohit Anchlia <[EMAIL PROTECTED]
>>>> 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
>>>>
>>>
>>
>>
+
Lyska Anton 2012-07-24, 10:09
+
Mohit Anchlia 2012-07-24, 17:00
+
Mohit Anchlia 2012-07-24, 19:27
+
lars hofhansl 2012-07-24, 05:29
+
Elliott Clark 2012-07-24, 19:55
+
Mohit Anchlia 2012-07-24, 20:04
+
lars hofhansl 2012-07-25, 00:43