[ https://issues.apache.org/jira/browse/HBASE-5171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack resolved HBASE-5171. -------------------------- Resolution: Duplicate This patch was opened first but will mark as duplicate of hbase-5249 because thats where the action is. > Potential NullPointerException while obtaining row lock > -------------------------------------------------------- > > Key: HBASE-5171 > URL: https://issues.apache.org/jira/browse/HBASE-5171 > Project: HBase > Issue Type: Bug > Components: regionserver > Affects Versions: 0.90.5 > Reporter: Yves Langisch > > We have a table which is concurrently accessed (read/write) from many threads > and we make use of row locks. Under heavy load we regularly get NPE while > obtaining row locks. An example stack trace looks as follows: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:986) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.lockRow(HRegionServer.java:2008) > at sun.reflect.GeneratedMethodAccessor20.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:570) > at > org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039) > Caused by: java.lang.NullPointerException > at > java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.addRowLock(HRegionServer.java:2018) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.lockRow(HRegionServer.java:2004) > ... 5 more > After checking the source code I've noticed that the value which is going to > be put into the HashMap can be null in the case where the waitForLock flag is > true or the rowLockWaitDuration is expired (HRegion#internalObtainRowLock, > line 2111ff). The latter I think happens in our case as we have heavy load > hitting the server. > IMHO this case should be handled somehow and must not lead to a NPE. > - > Yves -- 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