[ 
https://issues.apache.org/jira/browse/HBASE-5249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benoit Sigoure updated HBASE-5249:
----------------------------------

          Component/s: regionserver
          Description: 
After acquiring an explicit row lock, if one attempts to send {{Put}} after the 
row lock has expired, an NPE is triggered in the RegionServer, instead of 
throwing an {{UnknownRowLockException}} back to the client.
{code}
2012-01-20 17:09:54,074 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)
       at 
org.apache.hadoop.hbase.regionserver.HRegionServer.addRowLock(HRegionServer.java:2313)
       at 
org.apache.hadoop.hbase.regionserver.HRegionServer.lockRow(HRegionServer.java:2299)
       at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
       at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at 
org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
       at 
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1327)

It happened only once out of thousands of RPCs that grabbed and
released a row lock.
{code}

  was:
See 
http://search-hadoop.com/m/ZTJxL1S7Hq61/Error+obtaining+row+lock+%2528fsOk%253A+true%2529&subj=Re+NPE+while+obtaining+row+lock

Benoit just ran into this too testing tsdb against 0.92:

{code}
2012-01-20 17:09:54,074 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)
       at 
org.apache.hadoop.hbase.regionserver.HRegionServer.addRowLock(HRegionServer.java:2313)
       at 
org.apache.hadoop.hbase.regionserver.HRegionServer.lockRow(HRegionServer.java:2299)
       at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
       at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at 
org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
       at 
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1327)

It happened only once out of thousands of RPCs that grabbed and
released a row lock.
{code}





    Affects Version/s: 0.92.0
              Summary: Using a stale explicit row lock in a Put triggers an NPE 
 (was: NPE getting a rowlock, 'Error obtaining row lock (fsOk: true)')
    
> Using a stale explicit row lock in a Put triggers an NPE
> --------------------------------------------------------
>
>                 Key: HBASE-5249
>                 URL: https://issues.apache.org/jira/browse/HBASE-5249
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: stack
>            Assignee: stack
>            Priority: Minor
>             Fix For: 0.92.1
>
>
> After acquiring an explicit row lock, if one attempts to send {{Put}} after 
> the row lock has expired, an NPE is triggered in the RegionServer, instead of 
> throwing an {{UnknownRowLockException}} back to the client.
> {code}
> 2012-01-20 17:09:54,074 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)
>        at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.addRowLock(HRegionServer.java:2313)
>        at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.lockRow(HRegionServer.java:2299)
>        at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
>        at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at 
> org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
>        at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1327)
> It happened only once out of thousands of RPCs that grabbed and
> released a row lock.
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to