*When I use hbase,I found an Error log:*
*2012-07-14 15:41:04,023 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:3044)
        at
org.apache.hadoop.hbase.regionserver.HRegion.delete(HRegion.java:1653)
        at
org.apache.hadoop.hbase.regionserver.HRegionServer.delete(HRegionServer.java:2513)
        at sun.reflect.GeneratedMethodAccessor26.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:1376)*
*So I read the source code,It because get the row lock timeout in the
delete method.*
*But I find the startRegionOperation method,"This method needs to be called
before any public call that reads or * modifies data.",why we use this
method to get the lock.readLock().lock(),we still need the row lock?*

Reply via email to