I'm using the async hbase client (1.0) and there is no way to choose a lockId 
on my own:

<snippet>
  return database.client().lockRow(
                    new RowLockRequest(TableManager.ID_TABLE_NAME, 
MAXID_ROW)).join();

</snippet>

Any ideas what else could be wrong here? 

Yves

On Dec 14, 2011, at 7:10 AM, Stack wrote:

> On Mon, Dec 12, 2011 at 11:52 PM, Yves Langisch <[email protected]> wrote:
>> Hi,
>> 
>> from time to time I get a NPE on my regionserver. Apparently it's occurring 
>> while obtaining a row lock:
>> 
>> ---
>> 2011-12-13 02:00:19,582 DEBUG 
>> org.apache.hadoop.hbase.io.hfile.LruBlockCache: Block cache LRU eviction 
>> completed; freed=39.59 MB, total=296.26 MB, single=164.82 MB, multi=167.62 
>> MB, memory=42.16 KB
>> 2011-12-13 02:00:20,365 ERROR 
>> org.apache.hadoop.hbase.regionserver.HRegionServer: Error obtaining row lock 
>> (fsOk: true)
>> java.lang.NullPointerException
>>        at 
>> java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 
> Any chance you are passing a null lockid Yves?
> 
> See below:
> 
> 2005    protected long addRowLock(Integer r, HRegion region)
> 2006        throws LeaseStillHeldException {
> 2007      long lockId = -1L;
> 2008      lockId = rand.nextLong();
> 2009      String lockName = String.valueOf(lockId);
> 2010      rowlocks.put(lockName, r);
> 2011      this.leases.createLease(lockName, new
> RowLockListener(lockName, region));
> 2012      return lockId;
> 2013    }
> 
> 
> St.Ack
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to