[ https://issues.apache.org/jira/browse/HBASE-6839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13459291#comment-13459291 ]
Ted Yu edited comment on HBASE-6839 at 9/20/12 1:05 PM: -------------------------------------------------------- @ram obtainRowLock may return null but in the increment, delete,append, we won't handle the null case, and the result is operations is executed, but finally throw NPE when release row lock {code} 2012-09-17 13:51:22,300 ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: java.lang.NullPointerException at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:922) at org.apache.hadoop.hbase.regionserver.HRegion.releaseRowLock(HRegion.java:2522) at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:1668) at org.apache.hadoop.hbase.regionserver.HRegionServer.put(HRegionServer.java:2075) at sun.reflect.GeneratedMethodAccessor8.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.HBaseRPC$Server.call(HBaseRPC.java:603) at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1348) {code} was (Author: zjushch): @ram obtainRowLock may return null but in the increment, delete,append, we won't handle the null case, and the result is operations is executed, but finally throw NPE when release row lock {2012-09-17 13:51:22,300 ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: java.lang.NullPointerException at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:922) at org.apache.hadoop.hbase.regionserver.HRegion.releaseRowLock(HRegion.java:2522) at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:1668) at org.apache.hadoop.hbase.regionserver.HRegionServer.put(HRegionServer.java:2075) at sun.reflect.GeneratedMethodAccessor8.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.HBaseRPC$Server.call(HBaseRPC.java:603) at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1348) } > Operations may be executed without rowLock > ------------------------------------------ > > Key: HBASE-6839 > URL: https://issues.apache.org/jira/browse/HBASE-6839 > Project: HBase > Issue Type: Bug > Components: regionserver > Reporter: chunhui shen > Assignee: chunhui shen > Priority: Critical > Fix For: 0.96.0 > > Attachments: HBASE-6839.patch > > > HRegion#internalObtainRowLock will return null if timed out, > but many place which call this method don't handle this case > The bad result is operation will be executed even if it havn't obtained the > row lock. Such as put、delete、increment。。。 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira