[ 
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

Reply via email to