[ 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